LS1043ARM
LS1043ARM
Supports LS1023A
Chapter 1
Overview
1.1 Introduction...................................................................................................................................................................159
1.4.6 Enhanced direct memory access (eDMA) and direct memory access multiplexer (DMAMUX)............... 166
Chapter 2
Memory Map
2.1 Memory map overview................................................................................................................................................. 175
Chapter 3
Signal Descriptions
3.1 Signals introduction...................................................................................................................................................... 185
Chapter 4
Reset, Clocking, and Initialization
4.1 Reset, clocking, and initialization overview................................................................................................................. 231
Chapter 5
Interrupt Assignments
5.1 Introduction...................................................................................................................................................................281
Chapter 6
Arm Modules
6.1 Introduction...................................................................................................................................................................289
Chapter 7
CSU, OCRAM, and MSCM
7.1 Central Security Unit.................................................................................................................................................... 295
7.3.1 MSCM Access Control and TrustZone Security (ACTZS)Memory Map/Register Definition................... 307
7.3.2 ACTZS CSLn Fail Status Capture Registers (Memory Map/Register Definition)..................................... 315
7.3.2.1 ACTZS CSLn Fail Status Address (Low) Register (MSCM_CSFARn)................................. 319
7.3.2.4 ACTZS CSLn Fail Status Address (Low) Register (MSCM_CSFARn)................................. 322
7.3.2.7 ACTZS CSLn Fail Status Address (Low) Register (MSCM_CSFARn)................................. 325
7.3.2.10 ACTZS CSLn Fail Status Address (Low) Register (MSCM_CSFARn)................................. 328
Chapter 8
System Counter
8.1 System counter..............................................................................................................................................................331
8.1.1.5 Counter frequency mode table end frequency register (Secure_system_counter_CNTFID1) 334
Chapter 9
Interconnect Fabric
9.1 Introduction...................................................................................................................................................................337
Chapter 10
10.2.6 Barriers.........................................................................................................................................................359
10.3.2.1 Offset........................................................................................................................................367
10.3.2.3 Diagram....................................................................................................................................368
10.3.3.1 Offset........................................................................................................................................369
10.3.3.3 Diagram....................................................................................................................................369
10.3.4.1 Offset........................................................................................................................................371
10.3.4.3 Diagram....................................................................................................................................371
10.3.5.1 Offset........................................................................................................................................372
10.3.5.3 Diagram....................................................................................................................................373
10.3.6.1 Offset........................................................................................................................................374
10.3.6.3 Diagram....................................................................................................................................374
10.3.7.1 Offset........................................................................................................................................375
10.3.7.3 Diagram....................................................................................................................................376
10.3.8.1 Offset........................................................................................................................................377
10.3.8.3 Diagram....................................................................................................................................378
10.3.9.1 Offset........................................................................................................................................379
10.3.9.3 Diagram....................................................................................................................................379
10.3.10.1 Offset........................................................................................................................................380
10.3.10.3 Diagram....................................................................................................................................381
10.3.11.1 Offset........................................................................................................................................382
10.3.11.3 Diagram....................................................................................................................................382
10.3.12.1 Offset........................................................................................................................................384
10.3.12.3 Diagram....................................................................................................................................385
10.3.13.1 Offset........................................................................................................................................386
10.3.13.3 Diagram....................................................................................................................................386
10.3.14.1 Offset........................................................................................................................................387
10.3.14.3 Diagram....................................................................................................................................388
10.3.15.1 Offset........................................................................................................................................389
10.3.15.3 Diagram....................................................................................................................................390
Chapter 11
Arm CoreLink™ TrustZone Address Space Controller TZC-380
11.1 Introduction...................................................................................................................................................................391
11.3.1.1 Regions.....................................................................................................................................394
11.3.1.3 Subregions................................................................................................................................395
11.4.2.1 Offset........................................................................................................................................408
11.4.2.3 Diagram....................................................................................................................................408
11.4.3.1 Offset........................................................................................................................................409
11.4.3.3 Diagram....................................................................................................................................409
11.4.4.1 Offset........................................................................................................................................410
11.4.4.3 Diagram....................................................................................................................................411
11.4.5.1 Offset........................................................................................................................................412
11.4.5.3 Diagram....................................................................................................................................412
11.4.6.1 Offset........................................................................................................................................414
11.4.6.3 Diagram....................................................................................................................................414
11.4.7.1 Offset........................................................................................................................................415
11.4.7.3 Diagram....................................................................................................................................415
11.4.8.1 Offset........................................................................................................................................416
11.4.8.3 Diagram....................................................................................................................................416
11.4.9.1 Offset........................................................................................................................................417
11.4.9.3 Diagram....................................................................................................................................417
11.4.10.1 Offset........................................................................................................................................418
11.4.10.3 Diagram....................................................................................................................................418
11.4.11.1 Offset........................................................................................................................................419
11.4.11.3 Diagram....................................................................................................................................420
11.4.12.1 Offset........................................................................................................................................420
11.4.12.3 Diagram....................................................................................................................................421
11.4.13.1 Offset........................................................................................................................................422
11.4.13.3 Diagram....................................................................................................................................422
11.4.14.1 Offset........................................................................................................................................423
11.4.14.2 Diagram....................................................................................................................................423
11.4.15.1 Offset........................................................................................................................................424
11.4.15.3 Diagram....................................................................................................................................424
11.4.16.1 Offset........................................................................................................................................425
11.4.16.3 Diagram....................................................................................................................................425
11.4.17.1 Offset........................................................................................................................................426
11.4.17.2 Diagram....................................................................................................................................426
11.4.18.1 Offset........................................................................................................................................428
11.4.18.3 Diagram....................................................................................................................................428
11.4.19.1 Offset........................................................................................................................................429
11.4.19.3 Diagram....................................................................................................................................430
11.4.20.1 Offset........................................................................................................................................432
11.4.20.2 Diagram....................................................................................................................................432
11.4.21.1 Offset........................................................................................................................................433
11.4.21.3 Diagram....................................................................................................................................433
11.4.22.1 Offset........................................................................................................................................434
11.4.22.3 Diagram....................................................................................................................................436
11.4.23.1 Offset........................................................................................................................................437
11.4.23.2 Diagram....................................................................................................................................437
11.4.24.1 Offset........................................................................................................................................439
11.4.24.3 Diagram....................................................................................................................................439
11.4.25.1 Offset........................................................................................................................................440
11.4.25.3 Diagram....................................................................................................................................441
11.4.26.1 Offset........................................................................................................................................443
11.4.26.2 Diagram....................................................................................................................................443
11.4.27.1 Offset........................................................................................................................................444
11.4.27.3 Diagram....................................................................................................................................444
11.4.28.1 Offset........................................................................................................................................445
11.4.28.3 Diagram....................................................................................................................................447
11.4.29.1 Offset........................................................................................................................................448
11.4.29.2 Diagram....................................................................................................................................448
11.4.30.1 Offset........................................................................................................................................450
11.4.30.3 Diagram....................................................................................................................................450
11.4.31.1 Offset........................................................................................................................................451
11.4.31.3 Diagram....................................................................................................................................452
11.4.32.1 Offset........................................................................................................................................454
11.4.32.2 Diagram....................................................................................................................................454
11.4.33.1 Offset........................................................................................................................................455
11.4.33.3 Diagram....................................................................................................................................455
11.4.34.1 Offset........................................................................................................................................456
11.4.34.3 Diagram....................................................................................................................................458
11.4.35.1 Offset........................................................................................................................................459
11.4.35.2 Diagram....................................................................................................................................459
11.4.36.1 Offset........................................................................................................................................461
11.4.36.3 Diagram....................................................................................................................................461
11.4.37.1 Offset........................................................................................................................................462
11.4.37.3 Diagram....................................................................................................................................463
11.4.38.1 Offset........................................................................................................................................465
11.4.38.2 Diagram....................................................................................................................................465
11.4.39.1 Offset........................................................................................................................................466
11.4.39.3 Diagram....................................................................................................................................466
11.4.40.1 Offset........................................................................................................................................467
11.4.40.3 Diagram....................................................................................................................................469
11.4.41.1 Offset........................................................................................................................................470
11.4.41.2 Diagram....................................................................................................................................470
11.4.42.1 Offset........................................................................................................................................472
11.4.42.3 Diagram....................................................................................................................................472
11.4.43.1 Offset........................................................................................................................................473
11.4.43.3 Diagram....................................................................................................................................474
11.4.44.1 Offset........................................................................................................................................476
11.4.44.2 Diagram....................................................................................................................................476
11.4.45.1 Offset........................................................................................................................................477
11.4.45.3 Diagram....................................................................................................................................477
11.4.46.1 Offset........................................................................................................................................478
11.4.46.3 Diagram....................................................................................................................................480
11.4.47.1 Offset........................................................................................................................................481
11.4.47.2 Diagram....................................................................................................................................481
11.4.48.1 Offset........................................................................................................................................483
11.4.48.3 Diagram....................................................................................................................................483
11.4.49.1 Offset........................................................................................................................................484
11.4.49.3 Diagram....................................................................................................................................485
11.4.50.1 Offset........................................................................................................................................487
11.4.50.2 Diagram....................................................................................................................................487
11.4.51.1 Offset........................................................................................................................................488
11.4.51.3 Diagram....................................................................................................................................488
11.4.52.1 Offset........................................................................................................................................489
11.4.52.3 Diagram....................................................................................................................................491
11.4.53.1 Offset........................................................................................................................................492
11.4.53.2 Diagram....................................................................................................................................492
11.4.54.1 Offset........................................................................................................................................494
11.4.54.3 Diagram....................................................................................................................................494
11.4.55.1 Offset........................................................................................................................................495
11.4.55.3 Diagram....................................................................................................................................496
11.4.56.1 Offset........................................................................................................................................498
11.4.56.2 Diagram....................................................................................................................................498
11.4.57.1 Offset........................................................................................................................................499
11.4.57.3 Diagram....................................................................................................................................499
11.4.58.1 Offset........................................................................................................................................500
11.4.58.3 Diagram....................................................................................................................................502
11.4.59.1 Offset........................................................................................................................................503
11.4.59.2 Diagram....................................................................................................................................503
11.4.60.1 Offset........................................................................................................................................505
11.4.60.3 Diagram....................................................................................................................................505
11.4.61.1 Offset........................................................................................................................................506
11.4.61.3 Diagram....................................................................................................................................507
11.4.62.1 Offset........................................................................................................................................509
11.4.62.3 Diagram....................................................................................................................................509
11.4.63.1 Offset........................................................................................................................................510
11.4.63.3 Diagram....................................................................................................................................510
11.4.64.1 Offset........................................................................................................................................511
11.4.64.3 Diagram....................................................................................................................................512
Chapter 12
Supplemental Configuration Unit
12.1 Introduction ..................................................................................................................................................................513
12.3.42 Core Low Power Mode Control Status Register (SCFG_LPMCSR).......................................................... 558
Chapter 13
Device Configuration and Pin Control
13.1 Device Configuration and Pin Control Introduction.....................................................................................................585
Chapter 14
Run Control and Power Management (RCPM)
14.1 Introduction...................................................................................................................................................................629
Chapter 15
15.3.3.2 Multiplexing and timers-baud-rate generators (BRGs), BRG configuration registers 1-4
(BRGCn).................................................................................................................................. 662
Chapter 16
Data Path Acceleration Architecture (DPAA) Overview and SoC DPAA Implementation
16.1 DPAA Introduction and Terms.....................................................................................................................................667
Chapter 17
Secure Boot and Trust Architecture
17.1 Trust architecture objectives......................................................................................................................................... 685
17.3 Non-claims....................................................................................................................................................................687
Chapter 18
DDR Memory Controller
18.4.2.1 Offset........................................................................................................................................704
18.4.2.3 Diagram....................................................................................................................................704
18.4.3.1 Offset........................................................................................................................................705
18.4.3.3 Diagram....................................................................................................................................706
18.4.4.1 Offset........................................................................................................................................708
18.4.4.3 Diagram....................................................................................................................................708
18.4.5.1 Offset........................................................................................................................................711
18.4.5.3 Diagram....................................................................................................................................711
18.4.6.1 Offset........................................................................................................................................715
18.4.6.3 Diagram....................................................................................................................................715
18.4.7.1 Offset........................................................................................................................................718
18.4.7.3 Diagram....................................................................................................................................719
18.4.8.1 Offset........................................................................................................................................721
18.4.8.3 Diagram....................................................................................................................................722
18.4.9.1 Offset........................................................................................................................................725
18.4.9.3 Diagram....................................................................................................................................725
18.4.10.1 Offset........................................................................................................................................728
18.4.10.3 Diagram....................................................................................................................................728
18.4.11.1 Offset........................................................................................................................................729
18.4.11.3 Diagram....................................................................................................................................730
18.4.12.1 Offset........................................................................................................................................731
18.4.12.3 Diagram....................................................................................................................................731
18.4.13.1 Offset........................................................................................................................................734
18.4.13.3 Diagram....................................................................................................................................734
18.4.14.1 Offset........................................................................................................................................735
18.4.14.3 Diagram....................................................................................................................................735
18.4.15.1 Offset........................................................................................................................................736
18.4.15.3 Diagram....................................................................................................................................736
18.4.16.1 Offset........................................................................................................................................737
18.4.16.3 Diagram....................................................................................................................................738
18.4.17.1 Offset........................................................................................................................................739
18.4.17.3 Diagram....................................................................................................................................739
18.4.18.1 Offset........................................................................................................................................740
18.4.18.3 Diagram....................................................................................................................................740
18.4.19.1 Offset........................................................................................................................................744
18.4.19.3 Diagram....................................................................................................................................744
18.4.20.1 Offset........................................................................................................................................746
18.4.20.3 Diagram....................................................................................................................................746
18.4.21.1 Offset........................................................................................................................................749
18.4.21.3 Diagram....................................................................................................................................749
18.4.22.1 Offset........................................................................................................................................751
18.4.22.3 Diagram....................................................................................................................................752
18.4.23.1 Offset........................................................................................................................................754
18.4.23.3 Diagram....................................................................................................................................754
18.4.24.1 Offset........................................................................................................................................758
18.4.24.3 Diagram....................................................................................................................................758
18.4.25.1 Offset........................................................................................................................................759
18.4.25.3 Diagram....................................................................................................................................759
18.4.26.1 Offset........................................................................................................................................760
18.4.26.3 Diagram....................................................................................................................................761
18.4.27.1 Offset........................................................................................................................................762
18.4.27.3 Diagram....................................................................................................................................762
18.4.28.1 Offset........................................................................................................................................766
18.4.28.3 Diagram....................................................................................................................................766
18.4.29.1 Offset........................................................................................................................................769
18.4.29.3 Diagram....................................................................................................................................770
18.4.30.1 Offset........................................................................................................................................770
18.4.30.3 Diagram....................................................................................................................................771
18.4.31.1 Offset........................................................................................................................................772
18.4.31.3 Diagram....................................................................................................................................772
18.4.32.1 Offset........................................................................................................................................773
18.4.32.3 Diagram....................................................................................................................................773
18.4.33.1 Offset........................................................................................................................................774
18.4.33.3 Diagram....................................................................................................................................774
18.4.34.1 Offset........................................................................................................................................775
18.4.34.3 Diagram....................................................................................................................................776
18.4.35.1 Offset........................................................................................................................................777
18.4.35.3 Diagram....................................................................................................................................777
18.4.36.1 Offset........................................................................................................................................778
18.4.36.3 Diagram....................................................................................................................................778
18.4.37.1 Offset........................................................................................................................................779
18.4.37.3 Diagram....................................................................................................................................780
18.4.38.1 Offset........................................................................................................................................781
18.4.38.3 Diagram....................................................................................................................................781
18.4.39.1 Offset........................................................................................................................................782
18.4.39.3 Diagram....................................................................................................................................782
18.4.40.1 Offset........................................................................................................................................783
18.4.40.3 Diagram....................................................................................................................................783
18.4.41.1 Offset........................................................................................................................................784
18.4.41.3 Diagram....................................................................................................................................785
18.4.42.1 Offset........................................................................................................................................785
18.4.42.3 Diagram....................................................................................................................................786
18.4.43.1 Offset........................................................................................................................................787
18.4.43.3 Diagram....................................................................................................................................787
18.4.44.1 Offset........................................................................................................................................788
18.4.44.3 Diagram....................................................................................................................................788
18.4.45.1 Offset........................................................................................................................................789
18.4.45.3 Diagram....................................................................................................................................790
18.4.46.1 Offset........................................................................................................................................791
18.4.46.3 Diagram....................................................................................................................................791
18.4.47.1 Offset........................................................................................................................................792
18.4.47.3 Diagram....................................................................................................................................792
18.4.48.1 Offset........................................................................................................................................796
18.4.48.3 Diagram....................................................................................................................................796
18.4.49.1 Offset........................................................................................................................................799
18.4.49.3 Diagram....................................................................................................................................801
18.4.50.1 Offset........................................................................................................................................802
18.4.50.3 Diagram....................................................................................................................................803
18.4.51.1 Offset........................................................................................................................................804
18.4.51.3 Diagram....................................................................................................................................804
18.4.52.1 Offset........................................................................................................................................805
18.4.52.3 Diagram....................................................................................................................................805
18.4.53.1 Offset........................................................................................................................................806
18.4.53.3 Diagram....................................................................................................................................806
18.4.54.1 Offset........................................................................................................................................807
18.4.54.3 Diagram....................................................................................................................................808
18.4.55.1 Offset........................................................................................................................................809
18.4.55.3 Diagram....................................................................................................................................809
18.4.56.1 Offset........................................................................................................................................811
18.4.56.3 Diagram....................................................................................................................................811
18.4.57.1 Offset........................................................................................................................................813
18.4.57.3 Diagram....................................................................................................................................814
18.4.58.1 Offset........................................................................................................................................814
18.4.58.3 Diagram....................................................................................................................................815
18.4.59.1 Offset........................................................................................................................................815
18.4.59.3 Diagram....................................................................................................................................816
18.4.60.1 Offset........................................................................................................................................818
18.4.60.3 Diagram....................................................................................................................................818
18.4.61.1 Offset........................................................................................................................................819
18.4.61.3 Diagram....................................................................................................................................819
18.4.62.1 Offset........................................................................................................................................820
18.4.62.3 Diagram....................................................................................................................................820
18.4.63.1 Offset........................................................................................................................................821
18.4.63.3 Diagram....................................................................................................................................821
18.4.64.1 Offset........................................................................................................................................822
18.4.64.3 Diagram....................................................................................................................................822
18.4.65 Memory data path error injection mask high (DATA_ERR_INJECT_HI)................................................. 823
18.4.65.1 Offset........................................................................................................................................823
18.4.65.2 Diagram....................................................................................................................................823
18.4.66 Memory data path error injection mask low (DATA_ERR_INJECT_LO)................................................. 824
18.4.66.1 Offset........................................................................................................................................824
18.4.66.2 Diagram....................................................................................................................................824
18.4.67.1 Offset........................................................................................................................................825
18.4.67.3 Diagram....................................................................................................................................825
18.4.68.1 Offset........................................................................................................................................827
18.4.68.3 Diagram....................................................................................................................................827
18.4.69.1 Offset........................................................................................................................................828
18.4.69.3 Diagram....................................................................................................................................828
18.4.70.1 Offset........................................................................................................................................828
18.4.70.3 Diagram....................................................................................................................................829
18.4.71.1 Offset........................................................................................................................................830
18.4.71.3 Diagram....................................................................................................................................830
18.4.72.1 Offset........................................................................................................................................832
18.4.72.3 Diagram....................................................................................................................................832
18.4.73.1 Offset........................................................................................................................................834
18.4.73.3 Diagram....................................................................................................................................834
18.4.74.1 Offset........................................................................................................................................835
18.4.74.3 Diagram....................................................................................................................................836
18.4.75.1 Offset........................................................................................................................................837
18.4.75.3 Diagram....................................................................................................................................837
18.4.76.1 Offset........................................................................................................................................838
18.4.76.3 Diagram....................................................................................................................................838
18.4.77.1 Offset........................................................................................................................................839
18.4.77.3 Diagram....................................................................................................................................839
18.6.3 Using Forced Self-Refresh Mode to Implement a Battery-Backed RAM System...................................... 867
Chapter 19
Direct Memory Access Multiplexer (DMAMUX)
19.1 The DMAMUX module as implemented on the chip...................................................................................................869
19.2 Introduction...................................................................................................................................................................873
19.6.1 Reset.............................................................................................................................................................878
Chapter 20
DUART
20.1 The DUART module as implemented on the chip........................................................................................................881
20.2 Overview.......................................................................................................................................................................881
20.4.2.1 Offset........................................................................................................................................886
20.4.2.3 Diagram....................................................................................................................................887
20.4.3.1 Offset........................................................................................................................................888
20.4.3.3 Diagram....................................................................................................................................888
20.4.4.1 Offset........................................................................................................................................889
20.4.4.3 Diagram....................................................................................................................................889
20.4.5 UART divisor most significant byte register (UDMB1 - UDMB2)............................................................ 889
20.4.5.1 Offset........................................................................................................................................890
20.4.5.3 Diagram....................................................................................................................................890
20.4.6.1 Offset........................................................................................................................................891
20.4.6.3 Diagram....................................................................................................................................891
20.4.7.1 Offset........................................................................................................................................892
20.4.7.3 Diagram....................................................................................................................................892
20.4.8.1 Offset........................................................................................................................................893
20.4.8.3 Diagram....................................................................................................................................894
20.4.9.1 Offset........................................................................................................................................895
20.4.9.3 Diagram....................................................................................................................................896
20.4.10.1 Offset........................................................................................................................................897
20.4.10.3 Diagram....................................................................................................................................898
20.4.11.1 Offset........................................................................................................................................899
20.4.11.3 Diagram....................................................................................................................................899
20.4.12.1 Offset........................................................................................................................................900
20.4.12.3 Diagram....................................................................................................................................901
20.4.13.1 Offset........................................................................................................................................902
20.4.13.3 Diagram....................................................................................................................................902
20.4.14.1 Offset........................................................................................................................................903
20.4.14.3 Diagram....................................................................................................................................904
20.4.15.1 Offset........................................................................................................................................904
20.4.15.3 Diagram....................................................................................................................................906
20.5.4 Errors............................................................................................................................................................909
Chapter 21
Enhanced Direct Memory Access (eDMA)
21.1 Overview ......................................................................................................................................................................913
21.2 Introduction...................................................................................................................................................................913
21.4.25 TCD Minor Byte Count (Minor Loop Mapping Disabled) (DMA_TCDn_NBYTES_MLNO)................. 981
21.4.26 TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)
(DMA_TCDn_NBYTES_MLOFFNO)....................................................................................................... 982
21.4.27 TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)
(DMA_TCDn_NBYTES_MLOFFYES)..................................................................................................... 983
21.4.31 TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)
(DMA_TCDn_CITER_ELINKYES)...........................................................................................................986
21.4.32 TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)
(DMA_TCDn_CITER_ELINKNO)............................................................................................................ 987
21.4.33 TCD Last Destination Address Adjustment/Scatter Gather Address (DMA_TCDn_DLASTSGA).......... 988
21.4.35 TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)
(DMA_TCDn_BITER_ELINKYES)...........................................................................................................991
21.4.36 TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)
(DMA_TCDn_BITER_ELINKNO)............................................................................................................ 992
21.6.7.3.1 Method 1 (channel not using major loop channel linking)................................. 1012
21.6.8 Suspend/resume a DMA channel with active hardware service requests.................................................... 1014
Chapter 22
Enhanced Secured Digital Host Controller
22.1 Overview.......................................................................................................................................................................1017
22.3.2.1 Offset........................................................................................................................................1024
22.3.2.3 Diagram....................................................................................................................................1024
22.3.3.1 Offset........................................................................................................................................1025
22.3.3.3 Diagram....................................................................................................................................1026
22.3.4.1 Offset........................................................................................................................................1027
22.3.4.3 Diagram....................................................................................................................................1027
22.3.5.1 Offset........................................................................................................................................1028
22.3.5.3 Diagram....................................................................................................................................1030
22.3.6.1 Offset........................................................................................................................................1032
22.3.6.3 Diagram....................................................................................................................................1033
22.3.7.1 Offset........................................................................................................................................1033
22.3.7.3 Diagram....................................................................................................................................1034
22.3.8.1 Offset........................................................................................................................................1034
22.3.8.3 Diagram....................................................................................................................................1035
22.3.9.1 Offset........................................................................................................................................1035
22.3.9.3 Diagram....................................................................................................................................1037
22.3.10.1 Offset........................................................................................................................................1037
22.3.10.3 Diagram....................................................................................................................................1038
22.3.11.1 Offset........................................................................................................................................1038
22.3.11.3 Diagram....................................................................................................................................1039
22.3.12.1 Offset........................................................................................................................................1043
22.3.12.3 Diagram....................................................................................................................................1043
22.3.13.1 Offset........................................................................................................................................1046
22.3.13.3 Diagram....................................................................................................................................1047
22.3.14.1 Offset........................................................................................................................................1050
22.3.14.2 Diagram....................................................................................................................................1050
22.3.15.1 Offset........................................................................................................................................1053
22.3.15.3 Diagram....................................................................................................................................1054
22.3.16.1 Offset........................................................................................................................................1058
22.3.16.3 Diagram....................................................................................................................................1058
22.3.17.1 Offset........................................................................................................................................1061
22.3.17.3 Diagram....................................................................................................................................1061
22.3.18 Auto CMD Error Status Register / System Control 2 Register (AUTOCERR_SYSCTL2)....................... 1063
22.3.18.1 Offset........................................................................................................................................1063
22.3.18.3 Diagram....................................................................................................................................1064
22.3.19.1 Offset........................................................................................................................................1066
22.3.19.3 Diagram....................................................................................................................................1067
22.3.20.1 Offset........................................................................................................................................1068
22.3.20.3 Diagram....................................................................................................................................1069
22.3.21.1 Offset........................................................................................................................................1070
22.3.21.3 Diagram....................................................................................................................................1071
22.3.22.1 Offset........................................................................................................................................1073
22.3.22.3 Diagram....................................................................................................................................1074
22.3.23.1 Offset........................................................................................................................................1075
22.3.23.3 Diagram....................................................................................................................................1075
22.3.24.1 Offset........................................................................................................................................1076
22.3.24.3 Diagram....................................................................................................................................1076
22.3.25.1 Offset........................................................................................................................................1077
22.3.25.3 Diagram....................................................................................................................................1077
22.3.26.1 Offset........................................................................................................................................1078
22.3.26.3 Diagram....................................................................................................................................1078
22.3.27.1 Offset........................................................................................................................................1079
22.3.27.3 Diagram....................................................................................................................................1079
22.3.28.1 Offset........................................................................................................................................1081
22.3.28.3 Diagram....................................................................................................................................1081
22.3.29.1 Offset........................................................................................................................................1082
22.3.29.3 Diagram....................................................................................................................................1083
22.3.30.1 Offset........................................................................................................................................1083
22.3.30.3 Diagram....................................................................................................................................1084
22.3.31.1 Offset........................................................................................................................................1085
22.3.31.3 Diagram....................................................................................................................................1085
22.3.32.1 Offset........................................................................................................................................1086
22.3.32.3 Diagram....................................................................................................................................1086
22.3.33.1 Offset........................................................................................................................................1087
22.3.33.3 Diagram....................................................................................................................................1088
22.5.2.2 Reset.........................................................................................................................................1118
22.5.3.3.2 Resume................................................................................................................1129
22.5.4.3 Query, enable and disable MMC high speed mode................................................................. 1135
22.8.8 Soft reset for data not allowed when SD clock is disabled.......................................................................... 1146
Chapter 23
FlexTimer Module (FTM)
23.1 The FlexTimer module as implemented on the chip.................................................................................................... 1149
23.2 Introduction...................................................................................................................................................................1151
23.5.3 Counter.........................................................................................................................................................1213
23.5.3.1 Up counting..............................................................................................................................1213
Chapter 24
General Purpose I/O (GPIO)
24.1 The GPIO module as implemented on the chip............................................................................................................ 1291
24.5.2.1 Offset........................................................................................................................................1294
24.5.2.3 Diagram....................................................................................................................................1294
24.5.3.1 Offset........................................................................................................................................1295
24.5.3.3 Diagram....................................................................................................................................1295
24.5.4.1 Offset........................................................................................................................................1296
24.5.4.3 Diagram....................................................................................................................................1296
24.5.5.1 Offset........................................................................................................................................1297
24.5.5.3 Diagram....................................................................................................................................1297
24.5.6.1 Offset........................................................................................................................................1298
24.5.6.3 Diagram....................................................................................................................................1299
24.5.7.1 Offset........................................................................................................................................1299
24.5.7.3 Diagram....................................................................................................................................1299
Chapter 25
Integrated Flash Controller (IFC)
25.1 IFC overview................................................................................................................................................................ 1301
25.3.9 Flash Timing register 0 for Chip Select n - NAND flash asyncNVDDR mode
(IFC_FTIM0_CSn_NAND).........................................................................................................................1338
25.3.10 Flash Timing register 0 for Chip Select n - NAND flash Asynchronous Mode
(IFC_FTIM0_CS_NAND_ASYNC_MODE)............................................................................................. 1340
25.3.11 Flash Timing register 0 for CSn - NOR Flash Mode (IFC_FTIM0_CSn_NOR)........................................ 1341
25.3.12 Flash Timing register 0 for CSn - Normal GPCM Mode (IFC_FTIM0_CSn_GPCM)...............................1343
25.3.13 Flash Timing register 1 for Chip-Select n - NAND Flash NVDDR Mode (IFC_FTIM1_CSn_NAND)....1344
25.3.15 Flash Timing register 1 for CSn - NOR Flash Mode (IFC_FTIM1_CSn_NOR)........................................ 1346
25.3.16 Flash Timing register 1 for CSn - Normal GPCM Mode (IFC_FTIM1_CSn_GPCM)...............................1347
25.3.17 Flash Timing register 2 for Chip Select n - NAND Flash NVDDR Mode (IFC_FTIM2_CSn_NAND).... 1348
25.3.18 Flash Timing register 2 for Chip Select n - NAND Flash Asynchronous Mode
(IFC_FTIM2_CSn_NAND_ASYNC_MODE)........................................................................................... 1348
25.3.19 Flash Timing register 2 for CSn - NOR Flash Mode (IFC_FTIM2_CSn_NOR)........................................ 1349
25.3.20 Flash Timing register 2 for CSn - Normal GPCM Mode (IFC_FTIM2_CSn_GPCM)...............................1351
25.3.21 Flash Timing register 3 for Chip Select n - NAND Flash Mode (IFC_FTIM3_CSn_NAND)................... 1352
25.3.22 Flash Timing register 3 for Chip Select n - NAND Flash Asynchronous Mode
(IFC_IFC_FTIMn3_CS_NAND_ASYNC_MODE)................................................................................... 1352
25.3.23 Flash Timing register 3 for CSn - NOR Flash Mode (IFC_FTIM3_CS_NOR).......................................... 1353
25.3.24 Flash Timing register 3 for CSn - Normal GPCM Mode (IFC_FTIM3_CSn_GPCM)...............................1353
25.3.29 Common Event and Error Interrupt Enable register (IFC_CM_EVTER_INTR_EN)................................ 1359
25.3.43 Flash Byte Count register for NAND Flash (IFC_NAND_BC).................................................................. 1374
25.3.50 NAND Page Read Completion Event Status register (IFC_PGRDCMPL_EVT_STAT)........................... 1383
25.3.56 ECC Status and Result of Flash Operation register 0 (IFC_ECCSTAT0).................................................. 1390
25.3.57 ECC Status and Result of Flash Operation register 1 (IFC_ECCSTAT1).................................................. 1392
25.3.58 ECC Status and Result of Flash Operation register 2 (IFC_ECCSTAT2).................................................. 1393
25.3.59 ECC Status and Result of Flash Operation register 3 (IFC_ECCSTAT3).................................................. 1394
25.3.68 NOR Event and Error Interrupt enable register (IFC_NOR_EVTER_INTR_EN)..................................... 1406
25.5.5.2 Buffer layout and page mapping for 512-byte page NAND flash........................................... 1440
25.5.5.3 Buffer layout and page mapping for 2-KB page NAND flash.................................................1441
25.5.5.4 Buffer layout and page mapping for 4 KB page NAND flash.................................................1442
25.5.5.5 Buffer layout and page mapping for 8 KB page NAND flash.................................................1443
25.5.10.3 NAND asynchronous mode calculating read data window width........................................... 1459
25.9.7.6 Read status command during busy period of program/erase operation................................... 1497
Chapter 26
Inter-Integrated Circuit (I2C)
26.1 The I2C module as implemented on the chip............................................................................................................... 1499
26.2 Overview.......................................................................................................................................................................1500
26.6.4.3 Handshaking.............................................................................................................................1519
26.7.2 General programming guidelines (for both master and slave mode)...........................................................1529
Chapter 27
Low Power Universal asynchronous receiver/transmitter (LPUART)
27.1 LPUART module integration........................................................................................................................................1543
27.4 Introduction...................................................................................................................................................................1545
Chapter 28
PCI Express Interface Controller
28.1 The PCI Express controller as implemented on the chip..............................................................................................1581
28.2 Introduction...................................................................................................................................................................1584
28.4.2.2.1 Offset...................................................................................................................1593
28.4.2.2.3 Diagram...............................................................................................................1594
28.4.2.2.4 Fields...................................................................................................................1594
28.4.2.3.1 Offset...................................................................................................................1594
28.4.2.3.3 Diagram...............................................................................................................1594
28.4.2.3.4 Fields...................................................................................................................1595
28.4.2.4.1 Offset...................................................................................................................1595
28.4.2.4.3 Diagram...............................................................................................................1595
28.4.2.4.4 Fields...................................................................................................................1596
28.4.2.5.1 Offset...................................................................................................................1597
28.4.2.5.3 Diagram...............................................................................................................1597
28.4.2.5.4 Fields...................................................................................................................1598
28.4.2.6.1 Offset...................................................................................................................1599
28.4.2.6.3 Diagram...............................................................................................................1599
28.4.2.6.4 Fields...................................................................................................................1600
28.4.2.7.1 Offset...................................................................................................................1600
28.4.2.7.3 Diagram...............................................................................................................1600
28.4.2.7.4 Fields...................................................................................................................1600
28.4.2.8.1 Offset...................................................................................................................1601
28.4.2.8.3 Diagram...............................................................................................................1601
28.4.2.8.4 Fields...................................................................................................................1601
28.4.2.9.1 Offset...................................................................................................................1602
28.4.2.9.3 Diagram...............................................................................................................1602
28.4.2.9.4 Fields...................................................................................................................1602
28.4.2.10.1 Offset...................................................................................................................1602
28.4.2.10.3 Diagram...............................................................................................................1603
28.4.2.10.4 Fields...................................................................................................................1603
28.4.2.11.1 Offset...................................................................................................................1603
28.4.2.11.3 Diagram...............................................................................................................1604
28.4.2.11.4 Fields...................................................................................................................1604
28.4.2.12.1 Offset...................................................................................................................1605
28.4.2.12.3 Diagram...............................................................................................................1605
28.4.2.12.4 Fields...................................................................................................................1605
28.4.2.13.1 Offset...................................................................................................................1605
28.4.2.13.3 Diagram...............................................................................................................1606
28.4.2.13.4 Fields...................................................................................................................1606
28.4.2.14.1 Offset...................................................................................................................1606
28.4.2.14.3 Diagram...............................................................................................................1606
28.4.2.14.4 Fields...................................................................................................................1607
28.4.2.15.1 Offset...................................................................................................................1607
28.4.2.15.3 Diagram...............................................................................................................1607
28.4.2.15.4 Fields...................................................................................................................1607
28.4.2.16.1 Offset...................................................................................................................1608
28.4.2.16.3 Diagram...............................................................................................................1608
28.4.2.16.4 Fields...................................................................................................................1609
28.4.2.17.1 Offset...................................................................................................................1609
28.4.2.17.3 Diagram...............................................................................................................1609
28.4.2.17.4 Fields...................................................................................................................1609
28.4.2.18.1 Offset...................................................................................................................1610
28.4.2.18.3 Diagram...............................................................................................................1610
28.4.2.18.4 Fields...................................................................................................................1611
28.4.2.19.1 Offset...................................................................................................................1611
28.4.2.19.3 Diagram...............................................................................................................1611
28.4.2.19.4 Fields...................................................................................................................1612
28.4.2.20.1 Offset...................................................................................................................1612
28.4.2.20.3 Diagram...............................................................................................................1612
28.4.2.20.4 Fields...................................................................................................................1613
28.4.2.21.1 Offset...................................................................................................................1613
28.4.2.21.3 Diagram...............................................................................................................1613
28.4.2.21.4 Fields...................................................................................................................1614
28.4.2.22.1 Offset...................................................................................................................1614
28.4.2.22.3 Diagram...............................................................................................................1614
28.4.2.22.4 Fields...................................................................................................................1614
28.4.2.23.1 Offset...................................................................................................................1615
28.4.2.23.3 Diagram...............................................................................................................1615
28.4.2.23.4 Fields...................................................................................................................1615
28.4.2.24 PCI Express I/O Base Upper 16 Bits Register (IO_Base_Upper_16_Bits_Register)............. 1616
28.4.2.24.1 Offset...................................................................................................................1616
28.4.2.24.3 Diagram...............................................................................................................1616
28.4.2.24.4 Fields...................................................................................................................1616
28.4.2.25 PCI Express I/O Limit Upper 16 Bits Register (IO_Limit_Upper_16_Bits_Register)........... 1616
28.4.2.25.1 Offset...................................................................................................................1616
28.4.2.25.3 Diagram...............................................................................................................1617
28.4.2.25.4 Fields...................................................................................................................1617
28.4.2.26.1 Offset...................................................................................................................1617
28.4.2.26.3 Diagram...............................................................................................................1618
28.4.2.26.4 Fields...................................................................................................................1618
28.4.2.27 PCI Express Expansion ROM Base Address Register (RC-Mode) (Expansion_ROM_BA
R_Type1)................................................................................................................................. 1618
28.4.2.27.1 Offset...................................................................................................................1618
28.4.2.27.3 Diagram...............................................................................................................1618
28.4.2.27.4 Fields...................................................................................................................1619
28.4.2.28.1 Offset...................................................................................................................1619
28.4.2.28.3 Diagram...............................................................................................................1620
28.4.2.28.4 Fields...................................................................................................................1620
28.4.2.29.1 Offset...................................................................................................................1620
28.4.2.29.3 Diagram...............................................................................................................1620
28.4.2.29.4 Fields...................................................................................................................1621
28.4.2.30.1 Offset...................................................................................................................1621
28.4.2.30.3 Diagram...............................................................................................................1621
28.4.2.30.4 Fields...................................................................................................................1621
28.4.2.31.1 Offset...................................................................................................................1622
28.4.2.31.2 Diagram...............................................................................................................1622
28.4.2.31.3 Fields...................................................................................................................1622
28.4.2.32.1 Offset...................................................................................................................1623
28.4.2.32.2 Diagram...............................................................................................................1623
28.4.2.32.3 Fields...................................................................................................................1623
28.4.2.33 PCI Express Power Management Status and Control Register (Power_Management_Sta
tus_and_Control_Register)...................................................................................................... 1624
28.4.2.33.1 Offset...................................................................................................................1624
28.4.2.33.2 Diagram...............................................................................................................1624
28.4.2.33.3 Fields...................................................................................................................1624
28.4.2.34.1 Offset...................................................................................................................1625
28.4.2.34.2 Diagram...............................................................................................................1625
28.4.2.34.3 Fields...................................................................................................................1625
28.4.2.35.1 Offset...................................................................................................................1625
28.4.2.35.2 Diagram...............................................................................................................1626
28.4.2.35.3 Fields...................................................................................................................1626
28.4.2.36.1 Offset...................................................................................................................1626
28.4.2.36.2 Diagram...............................................................................................................1626
28.4.2.36.3 Fields...................................................................................................................1627
28.4.2.37.1 Offset...................................................................................................................1627
28.4.2.37.2 Diagram...............................................................................................................1628
28.4.2.37.3 Fields...................................................................................................................1628
28.4.2.38.1 Offset...................................................................................................................1629
28.4.2.38.2 Diagram...............................................................................................................1629
28.4.2.38.3 Fields...................................................................................................................1629
28.4.2.39.1 Offset...................................................................................................................1630
28.4.2.39.2 Diagram...............................................................................................................1630
28.4.2.39.3 Fields...................................................................................................................1631
28.4.2.40.1 Offset...................................................................................................................1631
28.4.2.40.2 Diagram...............................................................................................................1631
28.4.2.40.3 Fields...................................................................................................................1632
28.4.2.41.1 Offset...................................................................................................................1633
28.4.2.41.2 Diagram...............................................................................................................1633
28.4.2.41.3 Fields...................................................................................................................1633
28.4.2.42.1 Offset...................................................................................................................1634
28.4.2.42.2 Diagram...............................................................................................................1634
28.4.2.42.3 Fields...................................................................................................................1635
28.4.2.43.1 Offset...................................................................................................................1635
28.4.2.43.3 Diagram...............................................................................................................1636
28.4.2.43.4 Fields...................................................................................................................1636
28.4.2.44.1 Offset...................................................................................................................1637
28.4.2.44.3 Diagram...............................................................................................................1637
28.4.2.44.4 Fields...................................................................................................................1638
28.4.2.45.1 Offset...................................................................................................................1639
28.4.2.45.3 Diagram...............................................................................................................1639
28.4.2.45.4 Fields...................................................................................................................1639
28.4.2.46.1 Offset...................................................................................................................1640
28.4.2.46.3 Diagram...............................................................................................................1640
28.4.2.46.4 Fields...................................................................................................................1640
28.4.2.47.1 Offset...................................................................................................................1641
28.4.2.47.3 Diagram...............................................................................................................1641
28.4.2.47.4 Fields...................................................................................................................1641
28.4.2.48.1 Offset...................................................................................................................1642
28.4.2.48.3 Diagram...............................................................................................................1642
28.4.2.48.4 Fields...................................................................................................................1642
28.4.2.49.1 Offset...................................................................................................................1643
28.4.2.49.2 Diagram...............................................................................................................1643
28.4.2.49.3 Fields...................................................................................................................1643
28.4.2.50.1 Offset...................................................................................................................1644
28.4.2.50.2 Diagram...............................................................................................................1644
28.4.2.50.3 Fields...................................................................................................................1644
28.4.2.51.1 Offset...................................................................................................................1645
28.4.2.51.3 Diagram...............................................................................................................1645
28.4.2.51.4 Fields...................................................................................................................1646
28.4.2.52.1 Offset...................................................................................................................1647
28.4.2.52.2 Diagram...............................................................................................................1647
28.4.2.52.3 Fields...................................................................................................................1647
28.4.2.53.1 Offset...................................................................................................................1648
28.4.2.53.2 Diagram...............................................................................................................1648
28.4.2.53.3 Fields...................................................................................................................1648
28.4.2.54.1 Offset...................................................................................................................1649
28.4.2.54.2 Diagram...............................................................................................................1649
28.4.2.54.3 Fields...................................................................................................................1649
28.4.2.55.1 Offset...................................................................................................................1649
28.4.2.55.2 Diagram...............................................................................................................1649
28.4.2.55.3 Fields...................................................................................................................1650
28.4.2.56.1 Offset...................................................................................................................1651
28.4.2.56.2 Diagram...............................................................................................................1651
28.4.2.56.3 Fields...................................................................................................................1651
28.4.2.57.1 Offset...................................................................................................................1652
28.4.2.57.2 Diagram...............................................................................................................1652
28.4.2.57.3 Fields...................................................................................................................1653
28.4.2.58.1 Offset...................................................................................................................1654
28.4.2.58.2 Diagram...............................................................................................................1654
28.4.2.58.3 Fields...................................................................................................................1654
28.4.2.59.1 Offset...................................................................................................................1655
28.4.2.59.2 Diagram...............................................................................................................1655
28.4.2.59.3 Fields...................................................................................................................1655
28.4.2.60 PCI Express Advanced Error Capabilities and Control Register (Advanced_Error_Capab
ilities_and_Control_Register).................................................................................................. 1656
28.4.2.60.1 Offset...................................................................................................................1656
28.4.2.60.2 Diagram...............................................................................................................1656
28.4.2.60.3 Fields...................................................................................................................1657
28.4.2.61.1 Offset...................................................................................................................1657
28.4.2.61.3 Diagram...............................................................................................................1658
28.4.2.61.4 Fields...................................................................................................................1658
28.4.2.62.1 Offset...................................................................................................................1658
28.4.2.62.3 Diagram...............................................................................................................1659
28.4.2.62.4 Fields...................................................................................................................1659
28.4.2.63.1 Offset...................................................................................................................1659
28.4.2.63.3 Diagram...............................................................................................................1660
28.4.2.63.4 Fields...................................................................................................................1660
28.4.2.64.1 Offset...................................................................................................................1660
28.4.2.64.3 Diagram...............................................................................................................1661
28.4.2.64.4 Fields...................................................................................................................1661
28.4.2.65.1 Offset...................................................................................................................1661
28.4.2.65.3 Diagram...............................................................................................................1662
28.4.2.65.4 Fields...................................................................................................................1662
28.4.2.66.1 Offset...................................................................................................................1663
28.4.2.66.3 Diagram...............................................................................................................1663
28.4.2.66.4 Fields...................................................................................................................1663
28.4.2.67.1 Offset...................................................................................................................1664
28.4.2.67.2 Diagram...............................................................................................................1664
28.4.2.67.3 Fields...................................................................................................................1664
28.4.2.68.1 Offset...................................................................................................................1665
28.4.2.68.2 Diagram...............................................................................................................1665
28.4.2.68.3 Fields...................................................................................................................1665
28.4.2.69.1 Offset...................................................................................................................1665
28.4.2.69.2 Diagram...............................................................................................................1665
28.4.2.69.3 Fields...................................................................................................................1666
28.4.2.70.1 Offset...................................................................................................................1666
28.4.2.70.2 Diagram...............................................................................................................1666
28.4.2.70.3 Fields...................................................................................................................1667
28.4.2.71.1 Offset...................................................................................................................1667
28.4.2.71.2 Diagram...............................................................................................................1667
28.4.2.71.3 Fields...................................................................................................................1668
28.4.2.72.1 Offset...................................................................................................................1668
28.4.2.72.2 Diagram...............................................................................................................1670
28.4.2.72.4 Fields...................................................................................................................1670
28.4.2.73.1 Offset...................................................................................................................1671
28.4.2.73.3 Diagram...............................................................................................................1671
28.4.2.73.4 Fields...................................................................................................................1672
28.4.2.74.1 Offset...................................................................................................................1674
28.4.2.74.2 Diagram...............................................................................................................1674
28.4.2.74.3 Fields...................................................................................................................1675
28.4.2.75.1 Offset...................................................................................................................1675
28.4.2.75.2 Diagram...............................................................................................................1675
28.4.2.75.3 Fields...................................................................................................................1676
28.4.2.76.1 Offset...................................................................................................................1677
28.4.2.76.2 Diagram...............................................................................................................1677
28.4.2.76.3 Fields...................................................................................................................1677
28.4.2.77.1 Offset...................................................................................................................1677
28.4.2.77.2 Diagram...............................................................................................................1678
28.4.2.77.3 Fields...................................................................................................................1678
28.4.2.78.1 Offset...................................................................................................................1678
28.4.2.78.3 Diagram...............................................................................................................1678
28.4.2.78.4 Fields...................................................................................................................1679
28.4.2.79.1 Offset...................................................................................................................1679
28.4.2.79.2 Diagram...............................................................................................................1679
28.4.2.79.3 Fields...................................................................................................................1680
28.4.2.80.1 Offset...................................................................................................................1681
28.4.2.80.2 Diagram...............................................................................................................1681
28.4.2.80.3 Fields...................................................................................................................1681
28.4.2.81.1 Offset...................................................................................................................1682
28.4.2.81.2 Diagram...............................................................................................................1682
28.4.2.81.3 Fields...................................................................................................................1682
28.4.2.82.1 Offset...................................................................................................................1684
28.4.2.82.2 Diagram...............................................................................................................1684
28.4.2.82.3 Fields...................................................................................................................1685
28.4.2.83.1 Offset...................................................................................................................1686
28.4.2.83.2 Diagram...............................................................................................................1686
28.4.2.83.3 Fields...................................................................................................................1686
28.4.2.84.1 Offset...................................................................................................................1686
28.4.2.84.2 Diagram...............................................................................................................1687
28.4.2.84.3 Fields...................................................................................................................1687
28.4.2.85.1 Offset...................................................................................................................1687
28.4.2.85.2 Diagram...............................................................................................................1688
28.4.2.85.3 Fields...................................................................................................................1688
28.4.2.86.1 Offset...................................................................................................................1688
28.4.2.86.2 Diagram...............................................................................................................1688
28.4.2.86.3 Fields...................................................................................................................1689
28.4.2.87.1 Offset...................................................................................................................1689
28.4.2.87.2 Diagram...............................................................................................................1689
28.4.2.87.3 Fields...................................................................................................................1690
28.4.2.88.1 Offset...................................................................................................................1690
28.4.2.88.2 Diagram...............................................................................................................1690
28.4.2.88.3 Fields...................................................................................................................1691
28.4.2.89.1 Offset...................................................................................................................1691
28.4.2.89.2 Diagram...............................................................................................................1691
28.4.2.89.3 Fields...................................................................................................................1692
28.4.2.90.1 Offset...................................................................................................................1692
28.4.2.90.2 Diagram...............................................................................................................1693
28.4.2.90.3 Fields...................................................................................................................1693
28.4.2.91.1 Offset...................................................................................................................1693
28.4.2.91.2 Diagram...............................................................................................................1693
28.4.2.91.3 Fields...................................................................................................................1694
28.4.2.92.1 Offset...................................................................................................................1694
28.4.2.92.2 Diagram...............................................................................................................1694
28.4.2.92.3 Fields...................................................................................................................1695
28.4.2.93.1 Offset...................................................................................................................1695
28.4.2.93.3 Diagram...............................................................................................................1696
28.4.2.93.4 Fields...................................................................................................................1696
28.4.2.94.1 Offset...................................................................................................................1696
28.4.2.94.3 Diagram...............................................................................................................1697
28.4.2.94.4 Fields...................................................................................................................1697
28.4.2.95 Expansion ROM Base Address Register Mask (RC mode) (EXP_ROM_BAR_MASK_
RC)........................................................................................................................................... 1697
28.4.2.95.1 Offset...................................................................................................................1697
28.4.2.95.3 Diagram...............................................................................................................1698
28.4.2.95.4 Fields...................................................................................................................1698
28.5.1.2.1 Offset...................................................................................................................1701
28.5.1.2.3 Diagram...............................................................................................................1701
28.5.1.2.4 Fields...................................................................................................................1701
28.5.1.3.1 Offset...................................................................................................................1702
28.5.1.3.3 Diagram...............................................................................................................1702
28.5.1.3.4 Fields...................................................................................................................1703
28.5.1.4.1 Offset...................................................................................................................1703
28.5.1.4.3 Diagram...............................................................................................................1704
28.5.1.4.4 Fields...................................................................................................................1704
28.5.1.5.1 Offset...................................................................................................................1705
28.5.1.5.3 Diagram...............................................................................................................1705
28.5.1.5.4 Fields...................................................................................................................1706
28.5.1.6.1 Offset...................................................................................................................1706
28.5.1.6.3 Diagram...............................................................................................................1706
28.5.1.6.4 Fields...................................................................................................................1707
28.5.1.7 PEX LUT Entry a Upper Data Register (PEXL1UDR - PEXL31UDR)................................. 1707
28.5.1.7.1 Offset...................................................................................................................1707
28.5.1.7.3 Diagram...............................................................................................................1708
28.5.1.7.4 Fields...................................................................................................................1708
28.5.1.8 PEX LUT Entry a Lower Data Register (PEXL1LDR - PEXL31LDR)................................. 1708
28.5.1.8.1 Offset...................................................................................................................1708
28.5.1.8.3 Diagram...............................................................................................................1709
28.5.1.8.4 Fields...................................................................................................................1709
28.6.1 Architecture..................................................................................................................................................1711
Chapter 29
Pre-Boot Loader (PBL)
29.1 Overview.......................................................................................................................................................................1733
29.4.2.1 CCSR registers blocked from PBL during secure boot........................................................... 1736
Chapter 30
Quad Serial Peripheral Interface (QuadSPI)
30.1 The QuadSPI module as implemented on the chip.......................................................................................................1753
30.2 Introduction...................................................................................................................................................................1756
30.4.2.20 Interrupt and DMA Request Select and Enable Register (QuadSPI_RSER)...........................1791
30.4.5.2 Memory Mapped Serial Flash Data - Individual Flash Mode on Flash A............................... 1806
30.4.5.3 Memory Mapped Serial Flash Data - Individual Flash Mode on Flash B............................... 1807
30.8.3.1 Readout of the AHB Buffer via Memory Mapped Read......................................................... 1844
Chapter 31
Queue Direct Memory Access Controller (qDMA)
31.1 Introduction ..................................................................................................................................................................1853
31.2.1.2.1 Offset...................................................................................................................1866
31.2.1.2.3 Diagram...............................................................................................................1866
31.2.1.2.4 Fields...................................................................................................................1866
31.2.1.3.1 Offset...................................................................................................................1868
31.2.1.3.3 Diagram...............................................................................................................1868
31.2.1.3.4 Fields...................................................................................................................1868
31.2.1.4.1 Offset...................................................................................................................1868
31.2.1.4.3 Diagram...............................................................................................................1869
31.2.1.4.4 Fields...................................................................................................................1869
31.2.1.5.1 Offset...................................................................................................................1869
31.2.1.5.3 Diagram...............................................................................................................1870
31.2.1.5.4 Fields...................................................................................................................1870
31.2.1.6.1 Offset...................................................................................................................1870
31.2.1.6.3 Diagram...............................................................................................................1871
31.2.1.6.4 Fields...................................................................................................................1871
31.2.1.7.1 Offset...................................................................................................................1872
31.2.1.7.3 Diagram...............................................................................................................1872
31.2.1.7.4 Fields...................................................................................................................1872
31.2.1.8.1 Offset...................................................................................................................1873
31.2.1.8.3 Diagram...............................................................................................................1873
31.2.1.8.4 Fields...................................................................................................................1873
31.2.1.9.1 Offset...................................................................................................................1874
31.2.1.9.3 Diagram...............................................................................................................1874
31.2.1.9.4 Fields...................................................................................................................1875
31.2.1.10.1 Offset...................................................................................................................1876
31.2.1.10.3 Diagram...............................................................................................................1876
31.2.1.10.4 Fields...................................................................................................................1876
31.2.1.11.1 Offset...................................................................................................................1877
31.2.1.11.3 Diagram...............................................................................................................1878
31.2.1.11.4 Fields...................................................................................................................1878
31.2.1.12.1 Offset...................................................................................................................1878
31.2.1.12.2 Diagram...............................................................................................................1878
31.2.1.12.3 Fields...................................................................................................................1879
31.2.1.13.1 Offset...................................................................................................................1879
31.2.1.13.2 Diagram...............................................................................................................1879
31.2.1.13.3 Fields...................................................................................................................1880
31.2.1.14.1 Offset...................................................................................................................1880
31.2.1.14.2 Diagram...............................................................................................................1880
31.2.1.14.3 Fields...................................................................................................................1880
31.2.1.15.1 Offset...................................................................................................................1881
31.2.1.15.3 Diagram...............................................................................................................1881
31.2.1.15.4 Fields...................................................................................................................1881
31.2.1.16.1 Offset...................................................................................................................1882
31.2.1.16.3 Diagram...............................................................................................................1882
31.2.1.16.4 Fields...................................................................................................................1883
31.2.1.17.1 Offset...................................................................................................................1883
31.2.1.17.3 Diagram...............................................................................................................1883
31.2.1.17.4 Fields...................................................................................................................1884
31.2.1.18.1 Offset...................................................................................................................1885
31.2.1.18.3 Diagram...............................................................................................................1885
31.2.1.18.4 Fields...................................................................................................................1885
31.2.1.19 Block a command queue b extended dequeue pointer address register (B0CQ0EDPAR -
B3CQ7EDPAR)....................................................................................................................... 1886
31.2.1.19.1 Offset...................................................................................................................1886
31.2.1.19.3 Diagram...............................................................................................................1887
31.2.1.19.4 Fields...................................................................................................................1887
31.2.1.20 Block a command queue b dequeue pointer address register (B0CQ0DPAR - B3CQ7DPA
R)..............................................................................................................................................1887
31.2.1.20.1 Offset...................................................................................................................1887
31.2.1.20.2 Diagram...............................................................................................................1888
31.2.1.20.3 Fields...................................................................................................................1888
31.2.1.21 Block a command queue b extended enqueue pointer address register (B0CQ0EEPAR -
B3CQ7EEPAR)....................................................................................................................... 1888
31.2.1.21.1 Offset...................................................................................................................1888
31.2.1.21.3 Diagram...............................................................................................................1889
31.2.1.21.4 Fields...................................................................................................................1889
31.2.1.22 Block a command queue b enqueue pointer address register (B0CQ0EPAR - B3CQ7EPA
R)..............................................................................................................................................1889
31.2.1.22.1 Offset...................................................................................................................1889
31.2.1.22.2 Diagram...............................................................................................................1890
31.2.1.22.3 Fields...................................................................................................................1890
31.2.1.23 Block a command queue interrupt enable registers (B0CQIER - B3CQIER)......................... 1890
31.2.1.23.1 Offset...................................................................................................................1890
31.2.1.23.3 Diagram...............................................................................................................1891
31.2.1.23.4 Fields...................................................................................................................1891
31.2.1.24 Block a command queue interrupt detect registers (B0CQIDR - B3CQIDR)......................... 1892
31.2.1.24.1 Offset...................................................................................................................1892
31.2.1.24.3 Diagram...............................................................................................................1892
31.2.1.24.4 Fields...................................................................................................................1893
31.2.1.25.1 Offset...................................................................................................................1894
31.2.1.25.3 Diagram...............................................................................................................1894
31.2.1.25.4 Fields...................................................................................................................1894
31.2.1.26.1 Offset...................................................................................................................1895
31.2.1.26.3 Diagram...............................................................................................................1896
31.2.1.26.4 Fields...................................................................................................................1896
31.2.1.27 Block a status queue extended dequeue pointer address register (B0SQEDPAR - B3SQ
EDPAR)................................................................................................................................... 1896
31.2.1.27.1 Offset...................................................................................................................1896
31.2.1.27.3 Diagram...............................................................................................................1897
31.2.1.27.4 Fields...................................................................................................................1897
31.2.1.28 Block a status queue dequeue pointer address register (B0SQDPAR - B3SQDPAR)............ 1898
31.2.1.28.1 Offset...................................................................................................................1898
31.2.1.28.2 Diagram...............................................................................................................1898
31.2.1.28.3 Fields...................................................................................................................1898
31.2.1.29 Block a status queue extended enqueue pointer address register (B0SQEEPAR - B3SQ
EEPAR)....................................................................................................................................1899
31.2.1.29.1 Offset...................................................................................................................1899
31.2.1.29.3 Diagram...............................................................................................................1899
31.2.1.29.4 Fields...................................................................................................................1900
31.2.1.30 Block a status queue enqueue pointer address register (B0SQEPAR - B3SQEPAR)............. 1900
31.2.1.30.1 Offset...................................................................................................................1900
31.2.1.30.2 Diagram...............................................................................................................1900
31.2.1.30.3 Fields...................................................................................................................1901
31.2.1.31 Block a status queue interrupt coalescing register (B0SQICR - B3SQICR)........................... 1901
31.2.1.31.1 Offset...................................................................................................................1901
31.2.1.31.3 Diagram...............................................................................................................1901
31.2.1.31.4 Fields...................................................................................................................1902
31.2.1.32.1 Offset...................................................................................................................1903
31.2.1.32.3 Diagram...............................................................................................................1903
31.2.1.32.4 Fields...................................................................................................................1903
31.2.1.33.1 Offset...................................................................................................................1904
31.2.1.33.3 Diagram...............................................................................................................1904
31.2.1.33.4 Fields...................................................................................................................1905
31.2.1.34.1 Offset...................................................................................................................1906
31.2.1.34.3 Diagram...............................................................................................................1906
31.2.1.34.4 Fields...................................................................................................................1907
31.2.1.35.1 Offset...................................................................................................................1907
31.2.1.35.3 Diagram...............................................................................................................1908
31.2.1.35.4 Fields...................................................................................................................1908
31.2.1.36.1 Offset...................................................................................................................1909
31.2.1.36.3 Diagram...............................................................................................................1909
31.2.1.36.4 Fields...................................................................................................................1909
31.2.1.37 Command queue error capture extended address register (CQECEAR)................................. 1910
31.2.1.37.1 Offset...................................................................................................................1910
31.2.1.37.3 Diagram...............................................................................................................1910
31.2.1.37.4 Fields...................................................................................................................1910
31.2.1.38.1 Offset...................................................................................................................1911
31.2.1.38.2 Diagram...............................................................................................................1911
31.2.1.38.3 Fields...................................................................................................................1911
31.2.1.39.1 Offset...................................................................................................................1911
31.2.1.39.3 Diagram...............................................................................................................1912
31.2.1.39.4 Fields...................................................................................................................1912
31.2.1.40.1 Offset...................................................................................................................1912
31.2.1.40.3 Diagram...............................................................................................................1913
31.2.1.40.4 Fields...................................................................................................................1913
31.3.7.2 Alignment.................................................................................................................................1931
Chapter 32
SATA 3.0
32.3.2.1 Offset........................................................................................................................................1942
32.3.2.3 Diagram....................................................................................................................................1942
32.3.3.1 Offset........................................................................................................................................1945
32.3.3.3 Diagram....................................................................................................................................1945
32.3.4.1 Offset........................................................................................................................................1947
32.3.4.3 Diagram....................................................................................................................................1947
32.3.5.1 Offset........................................................................................................................................1948
32.3.5.3 Diagram....................................................................................................................................1948
32.3.6.1 Offset........................................................................................................................................1949
32.3.6.3 Diagram....................................................................................................................................1950
32.3.7.1 Offset........................................................................................................................................1950
32.3.7.3 Diagram....................................................................................................................................1951
32.3.8.1 Offset........................................................................................................................................1952
32.3.8.3 Diagram....................................................................................................................................1952
32.3.9.1 Offset........................................................................................................................................1954
32.3.9.3 Diagram....................................................................................................................................1955
32.3.10.1 Offset........................................................................................................................................1955
32.3.10.3 Diagram....................................................................................................................................1956
32.3.11.1 Offset........................................................................................................................................1957
32.3.11.3 Diagram....................................................................................................................................1957
32.3.12.1 Offset........................................................................................................................................1958
32.3.12.3 Diagram....................................................................................................................................1959
32.3.13.1 Offset........................................................................................................................................1960
32.3.13.3 Diagram....................................................................................................................................1961
32.3.14.1 Offset........................................................................................................................................1962
32.3.14.3 Diagram....................................................................................................................................1963
32.3.15.1 Offset........................................................................................................................................1964
32.3.15.3 Diagram....................................................................................................................................1964
32.3.16.1 Offset........................................................................................................................................1965
32.3.16.3 Diagram....................................................................................................................................1965
32.3.17.1 Offset........................................................................................................................................1967
32.3.17.3 Diagram....................................................................................................................................1967
32.3.18.1 Offset........................................................................................................................................1968
32.3.18.3 Diagram....................................................................................................................................1969
32.3.19.1 Offset........................................................................................................................................1969
32.3.19.3 Diagram....................................................................................................................................1970
32.3.20.1 Offset........................................................................................................................................1971
32.3.20.3 Diagram....................................................................................................................................1971
32.3.21.1 Offset........................................................................................................................................1972
32.3.21.3 Diagram....................................................................................................................................1972
32.3.22.1 Offset........................................................................................................................................1973
32.3.22.3 Diagram....................................................................................................................................1974
32.3.23.1 Offset........................................................................................................................................1974
32.3.23.2 Diagram....................................................................................................................................1975
32.3.24 Port x command list base address upper 32-bit register (PxCLBU)............................................................ 1975
32.3.24.1 Offset........................................................................................................................................1975
32.3.24.2 Diagram....................................................................................................................................1976
32.3.25.1 Offset........................................................................................................................................1976
32.3.25.2 Diagram....................................................................................................................................1976
32.3.26.1 Offset........................................................................................................................................1977
32.3.26.2 Diagram....................................................................................................................................1977
32.3.27.1 Offset........................................................................................................................................1978
32.3.27.2 Diagram....................................................................................................................................1978
32.3.28.1 Offset........................................................................................................................................1980
32.3.28.2 Diagram....................................................................................................................................1981
32.3.29.1 Offset........................................................................................................................................1984
32.3.29.3 Diagram....................................................................................................................................1985
32.3.30.1 Offset........................................................................................................................................1986
32.3.30.3 Diagram....................................................................................................................................1986
32.3.31.1 Offset........................................................................................................................................1987
32.3.31.3 Diagram....................................................................................................................................1987
32.3.32.1 Offset........................................................................................................................................1990
32.3.32.2 Diagram....................................................................................................................................1990
32.3.33.1 Offset........................................................................................................................................1991
32.3.33.3 Diagram....................................................................................................................................1991
32.3.34.1 Offset........................................................................................................................................1992
32.3.34.3 Diagram....................................................................................................................................1993
32.11 Reset..............................................................................................................................................................................2009
Chapter 33
SerDes Module
33.1 The SerDes module as implemented on the chip..........................................................................................................2015
33.1.2.1 Valid reference clocks and PLL configurations for SerDes protocols ....................................2019
33.2 Overview.......................................................................................................................................................................2020
33.5.2.1 Offset........................................................................................................................................2024
33.5.2.3 Diagram....................................................................................................................................2025
33.5.3.1 Offset........................................................................................................................................2026
33.5.3.3 Diagram....................................................................................................................................2027
33.5.4.1 Offset........................................................................................................................................2029
33.5.4.3 Diagram....................................................................................................................................2029
33.5.5.1 Offset........................................................................................................................................2030
33.5.5.3 Diagram....................................................................................................................................2030
33.5.6.1 Offset........................................................................................................................................2031
33.5.6.3 Diagram....................................................................................................................................2032
33.5.7.1 Offset........................................................................................................................................2033
33.5.7.3 Diagram....................................................................................................................................2033
33.5.8.1 Offset........................................................................................................................................2034
33.5.8.3 Diagram....................................................................................................................................2034
33.5.9.1 Offset........................................................................................................................................2035
33.5.9.3 Diagram....................................................................................................................................2035
33.5.10.1 Offset........................................................................................................................................2037
33.5.10.3 Diagram....................................................................................................................................2037
33.5.11.1 Offset........................................................................................................................................2038
33.5.11.3 Diagram....................................................................................................................................2038
33.5.12.1 Offset........................................................................................................................................2040
33.5.12.3 Diagram....................................................................................................................................2040
33.5.13.1 Offset........................................................................................................................................2042
33.5.13.3 Diagram....................................................................................................................................2042
33.5.14.1 Offset........................................................................................................................................2043
33.5.14.3 Diagram....................................................................................................................................2044
33.5.15.1 Offset........................................................................................................................................2045
33.5.15.3 Diagram....................................................................................................................................2046
33.5.16.1 Offset........................................................................................................................................2047
33.5.16.3 Diagram....................................................................................................................................2047
33.5.17.1 Offset........................................................................................................................................2049
33.5.17.3 Diagram....................................................................................................................................2050
33.5.18.1 Offset........................................................................................................................................2052
33.5.18.3 Diagram....................................................................................................................................2053
33.5.19.1 Offset........................................................................................................................................2056
33.5.19.3 Diagram....................................................................................................................................2056
33.5.20.1 Offset........................................................................................................................................2060
33.5.20.3 Diagram....................................................................................................................................2060
33.5.21.1 Offset........................................................................................................................................2063
33.5.21.3 Diagram....................................................................................................................................2064
33.5.22.1 Offset........................................................................................................................................2064
33.5.22.3 Diagram....................................................................................................................................2065
33.5.23.1 Offset........................................................................................................................................2067
33.5.23.3 Diagram....................................................................................................................................2068
33.5.24.1 Offset........................................................................................................................................2071
33.5.24.3 Diagram....................................................................................................................................2072
33.5.25.1 Offset........................................................................................................................................2073
33.5.25.3 Diagram....................................................................................................................................2073
33.5.26.1 Offset........................................................................................................................................2074
33.5.26.3 Diagram....................................................................................................................................2074
33.5.27.1 Offset........................................................................................................................................2075
33.5.27.3 Diagram....................................................................................................................................2076
33.5.28.1 Offset........................................................................................................................................2077
33.5.28.3 Diagram....................................................................................................................................2077
33.5.29.1 Offset........................................................................................................................................2078
33.5.29.3 Diagram....................................................................................................................................2078
33.5.30.1 Offset........................................................................................................................................2079
33.5.30.3 Diagram....................................................................................................................................2080
33.5.31.1 Offset........................................................................................................................................2081
33.5.31.3 Diagram....................................................................................................................................2082
33.5.32.1 Offset........................................................................................................................................2082
33.5.32.3 Diagram....................................................................................................................................2083
33.6.1.2.1 Offset...................................................................................................................2086
33.6.1.2.3 Diagram...............................................................................................................2086
33.6.1.2.4 Fields...................................................................................................................2086
33.6.1.3.1 Offset...................................................................................................................2086
33.6.1.3.3 Diagram...............................................................................................................2087
33.6.1.3.4 Fields...................................................................................................................2087
33.6.1.4.1 Offset...................................................................................................................2087
33.6.1.4.3 Diagram...............................................................................................................2088
33.6.1.4.4 Fields...................................................................................................................2088
33.6.1.5.1 Offset...................................................................................................................2088
33.6.1.5.3 Diagram...............................................................................................................2089
33.6.1.5.4 Fields...................................................................................................................2089
33.6.1.6.1 Offset...................................................................................................................2089
33.6.1.6.3 Diagram...............................................................................................................2089
33.6.1.6.4 Fields...................................................................................................................2090
33.6.1.7.1 Offset...................................................................................................................2090
33.6.1.7.3 Diagram...............................................................................................................2090
33.6.1.7.4 Fields...................................................................................................................2090
33.6.1.8.1 Offset...................................................................................................................2091
33.6.1.8.3 Diagram...............................................................................................................2091
33.6.1.8.4 Fields...................................................................................................................2091
33.6.1.9.1 Offset...................................................................................................................2092
33.6.1.9.3 Diagram...............................................................................................................2092
33.6.1.9.4 Fields...................................................................................................................2092
33.6.2.2.1 Offset...................................................................................................................2094
33.6.2.2.3 Diagram...............................................................................................................2094
33.6.2.2.4 Fields...................................................................................................................2094
33.6.2.3.1 Offset...................................................................................................................2095
33.6.2.3.3 Diagram...............................................................................................................2095
33.6.2.3.4 Fields...................................................................................................................2096
33.6.2.4.1 Offset...................................................................................................................2097
33.6.2.4.3 Diagram...............................................................................................................2097
33.6.2.4.4 Fields...................................................................................................................2097
33.6.2.5.1 Offset...................................................................................................................2098
33.6.2.5.3 Diagram...............................................................................................................2098
33.6.2.5.4 Fields...................................................................................................................2098
33.6.2.6.1 Offset...................................................................................................................2099
33.6.2.6.3 Diagram...............................................................................................................2099
33.6.2.6.4 Fields...................................................................................................................2099
33.6.2.7.1 Offset...................................................................................................................2100
33.6.2.7.3 Diagram...............................................................................................................2100
33.6.2.7.4 Fields...................................................................................................................2100
33.6.2.8.1 Offset...................................................................................................................2101
33.6.2.8.3 Diagram...............................................................................................................2101
33.6.2.8.4 Fields...................................................................................................................2102
33.6.2.9.1 Offset...................................................................................................................2102
33.6.2.9.3 Diagram...............................................................................................................2103
33.6.2.9.4 Fields...................................................................................................................2103
33.6.2.10.1 Offset...................................................................................................................2103
33.6.2.10.3 Diagram...............................................................................................................2103
33.6.2.10.4 Fields...................................................................................................................2104
33.6.2.11.1 Offset...................................................................................................................2105
33.6.2.11.3 Diagram...............................................................................................................2105
33.6.2.11.4 Fields...................................................................................................................2105
33.6.2.12.1 Offset...................................................................................................................2105
33.6.2.12.3 Diagram...............................................................................................................2106
33.6.2.12.4 Fields...................................................................................................................2106
33.6.2.13.1 Offset...................................................................................................................2106
33.6.2.13.3 Diagram...............................................................................................................2106
33.6.2.13.4 Fields...................................................................................................................2107
33.6.2.14.1 Offset...................................................................................................................2107
33.6.2.14.3 Diagram...............................................................................................................2108
33.6.2.14.4 Fields...................................................................................................................2108
33.6.2.15.1 Offset...................................................................................................................2109
33.6.2.15.3 Diagram...............................................................................................................2109
33.6.2.15.4 Fields...................................................................................................................2109
33.6.2.16.1 Offset...................................................................................................................2109
33.6.2.16.3 Diagram...............................................................................................................2110
33.6.2.16.4 Fields...................................................................................................................2110
33.6.2.17.1 Offset...................................................................................................................2110
33.6.2.17.3 Diagram...............................................................................................................2110
33.6.2.17.4 Fields...................................................................................................................2111
33.6.2.18.1 Offset...................................................................................................................2111
33.6.2.18.3 Diagram...............................................................................................................2111
33.6.2.18.4 Fields...................................................................................................................2111
33.6.2.19.1 Offset...................................................................................................................2112
33.6.2.19.3 Diagram...............................................................................................................2112
33.6.2.19.4 Fields...................................................................................................................2112
33.6.2.20.1 Offset...................................................................................................................2113
33.6.2.20.3 Diagram...............................................................................................................2113
33.6.2.20.4 Fields...................................................................................................................2113
33.6.2.21.1 Offset...................................................................................................................2113
33.6.2.21.3 Diagram...............................................................................................................2114
33.6.2.21.4 Fields...................................................................................................................2114
33.6.2.22.1 Offset...................................................................................................................2114
33.6.2.22.3 Diagram...............................................................................................................2114
33.6.2.22.4 Fields...................................................................................................................2115
33.6.2.23.1 Offset...................................................................................................................2115
33.6.2.23.3 Diagram...............................................................................................................2115
33.6.2.23.4 Fields...................................................................................................................2116
33.6.2.24.1 Offset...................................................................................................................2117
33.6.2.24.3 Diagram...............................................................................................................2117
33.6.2.24.4 Fields...................................................................................................................2117
33.6.2.25.1 Offset...................................................................................................................2118
33.6.2.25.3 Diagram...............................................................................................................2118
33.6.2.25.4 Fields...................................................................................................................2118
33.6.3.2.1 Offset...................................................................................................................2119
33.6.3.2.3 Diagram...............................................................................................................2120
33.6.3.2.4 Fields...................................................................................................................2120
33.6.3.3.1 Offset...................................................................................................................2121
33.6.3.3.3 Diagram...............................................................................................................2121
33.6.3.3.4 Fields...................................................................................................................2121
33.6.3.4.1 Offset...................................................................................................................2123
33.6.3.4.3 Diagram...............................................................................................................2123
33.6.3.4.4 Fields...................................................................................................................2123
33.6.3.5.1 Offset...................................................................................................................2123
33.6.3.5.3 Diagram...............................................................................................................2124
33.6.3.5.4 Fields...................................................................................................................2124
33.6.3.6.1 Offset...................................................................................................................2124
33.6.3.6.3 Diagram...............................................................................................................2124
33.6.3.6.4 Fields...................................................................................................................2125
33.6.3.7.1 Offset...................................................................................................................2126
33.6.3.7.3 Diagram...............................................................................................................2126
33.6.3.7.4 Fields...................................................................................................................2126
33.6.3.8.1 Offset...................................................................................................................2127
33.6.3.8.3 Diagram...............................................................................................................2127
33.6.3.8.4 Fields...................................................................................................................2127
33.6.3.9.1 Offset...................................................................................................................2127
33.6.3.9.3 Diagram...............................................................................................................2128
33.6.3.9.4 Fields...................................................................................................................2128
33.6.3.10.1 Offset...................................................................................................................2128
33.6.3.10.3 Diagram...............................................................................................................2129
33.6.3.10.4 Fields...................................................................................................................2129
33.6.3.11.1 Offset...................................................................................................................2130
33.6.3.11.3 Diagram...............................................................................................................2130
33.6.3.11.4 Fields...................................................................................................................2130
33.6.3.12.1 Offset...................................................................................................................2131
33.6.3.12.3 Diagram...............................................................................................................2131
33.6.3.12.4 Fields...................................................................................................................2131
33.6.3.13.1 Offset...................................................................................................................2132
33.6.3.13.3 Diagram...............................................................................................................2132
33.6.3.13.4 Fields...................................................................................................................2132
33.6.3.14.1 Offset...................................................................................................................2133
33.6.3.14.3 Diagram...............................................................................................................2134
33.6.3.14.4 Fields...................................................................................................................2134
33.6.3.15.1 Offset...................................................................................................................2134
33.6.3.15.3 Diagram...............................................................................................................2135
33.6.3.15.4 Fields...................................................................................................................2135
33.6.3.16.1 Offset...................................................................................................................2135
33.6.3.16.3 Diagram...............................................................................................................2136
33.6.3.16.4 Fields...................................................................................................................2136
33.6.3.17.1 Offset...................................................................................................................2137
33.6.3.17.3 Diagram...............................................................................................................2137
33.6.3.17.4 Fields...................................................................................................................2137
33.6.3.18.1 Offset...................................................................................................................2137
33.6.3.18.3 Diagram...............................................................................................................2138
33.6.3.18.4 Fields...................................................................................................................2138
33.6.3.19.1 Offset...................................................................................................................2138
33.6.3.19.3 Diagram...............................................................................................................2138
33.6.3.19.4 Fields...................................................................................................................2139
33.6.3.20.1 Offset...................................................................................................................2140
33.6.3.20.3 Diagram...............................................................................................................2140
33.6.3.20.4 Fields...................................................................................................................2140
33.6.3.21.1 Offset...................................................................................................................2140
33.6.3.21.3 Diagram...............................................................................................................2141
33.6.3.21.4 Fields...................................................................................................................2141
33.6.3.22.1 Offset...................................................................................................................2141
33.6.3.22.3 Diagram...............................................................................................................2141
33.6.3.22.4 Fields...................................................................................................................2142
33.6.4.2.1 Offset...................................................................................................................2143
33.6.4.2.3 Diagram...............................................................................................................2143
33.6.4.2.4 Fields...................................................................................................................2144
33.6.4.3.1 Offset...................................................................................................................2144
33.6.4.3.3 Diagram...............................................................................................................2144
33.6.4.3.4 Fields...................................................................................................................2144
33.6.4.4.1 Offset...................................................................................................................2145
33.6.4.4.3 Diagram...............................................................................................................2145
33.6.4.4.4 Fields...................................................................................................................2145
33.6.4.5.1 Offset...................................................................................................................2147
33.6.4.5.3 Diagram...............................................................................................................2147
33.6.4.5.4 Fields...................................................................................................................2147
33.6.4.6.1 Offset...................................................................................................................2149
33.6.4.6.3 Diagram...............................................................................................................2149
33.6.4.6.4 Fields...................................................................................................................2149
33.6.4.7.1 Offset...................................................................................................................2150
33.6.4.7.3 Diagram...............................................................................................................2151
33.6.4.7.4 Fields...................................................................................................................2151
33.6.4.8.1 Offset...................................................................................................................2152
33.6.4.8.3 Diagram...............................................................................................................2152
33.6.4.8.4 Fields...................................................................................................................2152
33.6.4.9.1 Offset...................................................................................................................2153
33.6.4.9.3 Diagram...............................................................................................................2153
33.6.4.9.4 Fields...................................................................................................................2153
33.6.5.2.1 Offset...................................................................................................................2155
33.6.5.2.3 Diagram...............................................................................................................2156
33.6.5.2.4 Fields...................................................................................................................2156
33.6.5.3.1 Offset...................................................................................................................2157
33.6.5.3.3 Diagram...............................................................................................................2157
33.6.5.3.4 Fields...................................................................................................................2157
33.6.5.4.1 Offset...................................................................................................................2158
33.6.5.4.3 Diagram...............................................................................................................2158
33.6.5.4.4 Fields...................................................................................................................2158
33.6.5.5.1 Offset...................................................................................................................2158
33.6.5.5.3 Diagram...............................................................................................................2159
33.6.5.5.4 Fields...................................................................................................................2159
33.6.5.6.1 Offset...................................................................................................................2159
33.6.5.6.3 Diagram...............................................................................................................2159
33.6.5.6.4 Fields...................................................................................................................2160
33.6.5.7.1 Offset...................................................................................................................2161
33.6.5.7.3 Diagram...............................................................................................................2161
33.6.5.7.4 Fields...................................................................................................................2161
33.6.5.8.1 Offset...................................................................................................................2162
33.6.5.8.3 Diagram...............................................................................................................2162
33.6.5.8.4 Fields...................................................................................................................2162
33.6.5.9.1 Offset...................................................................................................................2162
33.6.5.9.3 Diagram...............................................................................................................2163
33.6.5.9.4 Fields...................................................................................................................2163
33.6.5.10.1 Offset...................................................................................................................2163
33.6.5.10.3 Diagram...............................................................................................................2163
33.6.5.10.4 Fields...................................................................................................................2164
33.6.5.11.1 Offset...................................................................................................................2165
33.6.5.11.3 Diagram...............................................................................................................2165
33.6.5.11.4 Fields...................................................................................................................2166
33.6.5.12.1 Offset...................................................................................................................2167
33.6.5.12.3 Diagram...............................................................................................................2167
33.6.5.12.4 Fields...................................................................................................................2167
33.6.5.13.1 Offset...................................................................................................................2167
33.6.5.13.3 Diagram...............................................................................................................2168
33.6.5.13.4 Fields...................................................................................................................2168
33.6.5.14.1 Offset...................................................................................................................2168
33.6.5.14.3 Diagram...............................................................................................................2168
33.6.5.14.4 Fields...................................................................................................................2169
33.6.5.15.1 Offset...................................................................................................................2170
33.6.5.15.3 Diagram...............................................................................................................2170
33.6.5.15.4 Fields...................................................................................................................2170
33.6.5.16.1 Offset...................................................................................................................2171
33.6.5.16.3 Diagram...............................................................................................................2171
33.6.5.16.4 Fields...................................................................................................................2171
33.6.5.17.1 Offset...................................................................................................................2172
33.6.5.17.3 Diagram...............................................................................................................2173
33.6.5.17.4 Fields...................................................................................................................2173
33.6.5.18.1 Offset...................................................................................................................2174
33.6.5.18.3 Diagram...............................................................................................................2174
33.6.5.18.4 Fields...................................................................................................................2174
33.6.5.19.1 Offset...................................................................................................................2175
33.6.5.19.3 Diagram...............................................................................................................2175
33.6.5.19.4 Fields...................................................................................................................2175
33.6.5.20.1 Offset...................................................................................................................2176
33.6.5.20.3 Diagram...............................................................................................................2176
33.6.5.20.4 Fields...................................................................................................................2176
33.6.5.21.1 Offset...................................................................................................................2177
33.6.5.21.3 Diagram...............................................................................................................2177
33.6.5.21.4 Fields...................................................................................................................2178
33.6.5.22.1 Offset...................................................................................................................2178
33.6.5.22.3 Diagram...............................................................................................................2178
33.6.5.22.4 Fields...................................................................................................................2178
33.6.5.23.1 Offset...................................................................................................................2178
33.6.5.23.3 Diagram...............................................................................................................2179
33.6.5.23.4 Fields...................................................................................................................2179
33.6.5.24.1 Offset...................................................................................................................2179
33.6.5.24.3 Diagram...............................................................................................................2180
33.6.5.24.4 Fields...................................................................................................................2180
33.6.5.25.1 Offset...................................................................................................................2180
33.6.5.25.3 Diagram...............................................................................................................2180
33.6.5.25.4 Fields...................................................................................................................2181
33.6.5.26.1 Offset...................................................................................................................2181
33.6.5.26.3 Diagram...............................................................................................................2181
33.6.5.26.4 Fields...................................................................................................................2181
33.6.6.2.1 Offset...................................................................................................................2183
33.6.6.2.3 Diagram...............................................................................................................2183
33.6.6.2.4 Fields...................................................................................................................2184
33.6.6.3.1 Offset...................................................................................................................2185
33.6.6.3.3 Diagram...............................................................................................................2185
33.6.6.3.4 Fields...................................................................................................................2185
33.6.6.4.1 Offset...................................................................................................................2186
33.6.6.4.3 Diagram...............................................................................................................2187
33.6.6.4.4 Fields...................................................................................................................2187
33.6.6.5.1 Offset...................................................................................................................2187
33.6.6.5.3 Diagram...............................................................................................................2187
33.6.6.5.4 Fields...................................................................................................................2188
33.6.6.6.1 Offset...................................................................................................................2188
33.6.6.6.3 Diagram...............................................................................................................2188
33.6.6.6.4 Fields...................................................................................................................2189
33.6.6.7.1 Offset...................................................................................................................2190
33.6.6.7.3 Diagram...............................................................................................................2190
33.6.6.7.4 Fields...................................................................................................................2190
33.6.6.8.1 Offset...................................................................................................................2191
33.6.6.8.3 Diagram...............................................................................................................2191
33.6.6.8.4 Fields...................................................................................................................2191
33.6.6.9.1 Offset...................................................................................................................2191
33.6.6.9.3 Diagram...............................................................................................................2192
33.6.6.9.4 Fields...................................................................................................................2192
33.6.6.10.1 Offset...................................................................................................................2192
33.6.6.10.3 Diagram...............................................................................................................2192
33.6.6.10.4 Fields...................................................................................................................2193
33.6.6.11.1 Offset...................................................................................................................2194
33.6.6.11.3 Diagram...............................................................................................................2194
33.6.6.11.4 Fields...................................................................................................................2194
33.6.6.12.1 Offset...................................................................................................................2195
33.6.6.12.3 Diagram...............................................................................................................2195
33.6.6.12.4 Fields...................................................................................................................2195
33.6.6.13.1 Offset...................................................................................................................2196
33.6.6.13.3 Diagram...............................................................................................................2196
33.6.6.13.4 Fields...................................................................................................................2196
33.6.6.14.1 Offset...................................................................................................................2197
33.6.6.14.3 Diagram...............................................................................................................2198
33.6.6.14.4 Fields...................................................................................................................2198
33.6.6.15.1 Offset...................................................................................................................2198
33.6.6.15.3 Diagram...............................................................................................................2199
33.6.6.15.4 Fields...................................................................................................................2199
33.6.6.16.1 Offset...................................................................................................................2199
33.6.6.16.3 Diagram...............................................................................................................2200
33.6.6.16.4 Fields...................................................................................................................2200
33.6.6.17.1 Offset...................................................................................................................2201
33.6.6.17.3 Diagram...............................................................................................................2201
33.6.6.17.4 Fields...................................................................................................................2201
33.6.6.18.1 Offset...................................................................................................................2202
33.6.6.18.3 Diagram...............................................................................................................2202
33.6.6.18.4 Fields...................................................................................................................2202
33.6.6.19.1 Offset...................................................................................................................2202
33.6.6.19.3 Diagram...............................................................................................................2203
33.6.6.19.4 Fields...................................................................................................................2203
33.6.6.20.1 Offset...................................................................................................................2204
33.6.6.20.3 Diagram...............................................................................................................2204
33.6.6.20.4 Fields...................................................................................................................2204
33.6.6.21.1 Offset...................................................................................................................2204
33.6.6.21.3 Diagram...............................................................................................................2205
33.6.6.21.4 Fields...................................................................................................................2205
33.6.6.22.1 Offset...................................................................................................................2205
33.6.6.22.3 Diagram...............................................................................................................2205
33.6.6.22.4 Fields...................................................................................................................2206
33.6.6.23.1 Offset...................................................................................................................2207
33.6.6.23.3 Diagram...............................................................................................................2207
33.6.6.23.4 Fields...................................................................................................................2207
33.6.7.2.1 Offset...................................................................................................................2208
33.6.7.2.3 Diagram...............................................................................................................2208
33.6.7.2.4 Fields...................................................................................................................2208
33.6.7.3.1 Offset...................................................................................................................2209
33.6.7.3.3 Diagram...............................................................................................................2209
33.6.7.3.4 Fields...................................................................................................................2209
33.6.7.4.1 Offset...................................................................................................................2209
33.6.7.4.3 Diagram...............................................................................................................2210
33.6.7.4.4 Fields...................................................................................................................2210
33.6.7.5.1 Offset...................................................................................................................2210
33.6.7.5.3 Diagram...............................................................................................................2211
33.6.7.5.4 Fields...................................................................................................................2211
33.6.7.6.1 Offset...................................................................................................................2211
33.6.7.6.3 Diagram...............................................................................................................2212
33.6.7.6.4 Fields...................................................................................................................2212
33.6.7.7.1 Offset...................................................................................................................2213
33.6.7.7.3 Diagram...............................................................................................................2213
33.6.7.7.4 Fields...................................................................................................................2213
33.6.8.2.1 Offset...................................................................................................................2215
33.6.8.2.3 Diagram...............................................................................................................2215
33.6.8.2.4 Fields...................................................................................................................2215
33.6.8.3.1 Offset...................................................................................................................2216
33.6.8.3.3 Diagram...............................................................................................................2217
33.6.8.3.4 Fields...................................................................................................................2217
33.6.8.4.1 Offset...................................................................................................................2218
33.6.8.4.3 Diagram...............................................................................................................2218
33.6.8.4.4 Fields...................................................................................................................2218
33.6.8.5.1 Offset...................................................................................................................2219
33.6.8.5.3 Diagram...............................................................................................................2219
33.6.8.5.4 Fields...................................................................................................................2219
33.6.8.6.1 Offset...................................................................................................................2220
33.6.8.6.3 Diagram...............................................................................................................2220
33.6.8.6.4 Fields...................................................................................................................2220
33.6.8.7.1 Offset...................................................................................................................2221
33.6.8.7.3 Diagram...............................................................................................................2221
33.6.8.7.4 Fields...................................................................................................................2221
33.6.8.8.1 Offset...................................................................................................................2222
33.6.8.8.3 Diagram...............................................................................................................2222
33.6.8.8.4 Fields...................................................................................................................2223
33.6.8.9.1 Offset...................................................................................................................2224
33.6.8.9.3 Diagram...............................................................................................................2224
33.6.8.9.4 Fields...................................................................................................................2224
33.6.8.10.1 Offset...................................................................................................................2225
33.6.8.10.3 Diagram...............................................................................................................2226
33.6.8.10.4 Fields...................................................................................................................2226
33.6.8.11.1 Offset...................................................................................................................2226
33.6.8.11.3 Diagram...............................................................................................................2226
33.6.8.11.4 Fields...................................................................................................................2227
33.6.8.12.1 Offset...................................................................................................................2227
33.6.8.12.3 Diagram...............................................................................................................2228
33.6.8.12.4 Fields...................................................................................................................2228
33.6.8.13.1 Offset...................................................................................................................2228
33.6.8.13.3 Diagram...............................................................................................................2229
33.6.8.13.4 Fields...................................................................................................................2229
33.6.8.14.1 Offset...................................................................................................................2229
33.6.8.14.3 Diagram...............................................................................................................2229
33.6.8.14.4 Fields...................................................................................................................2230
33.6.8.15.1 Offset...................................................................................................................2230
33.6.8.15.3 Diagram...............................................................................................................2230
33.6.8.15.4 Fields...................................................................................................................2230
33.6.8.16.1 Offset...................................................................................................................2231
33.6.8.16.3 Diagram...............................................................................................................2231
33.6.8.16.4 Fields...................................................................................................................2231
33.6.8.17.1 Offset...................................................................................................................2232
33.6.8.17.3 Diagram...............................................................................................................2232
33.6.8.17.4 Fields...................................................................................................................2232
33.6.8.18.1 Offset...................................................................................................................2232
33.6.8.18.3 Diagram...............................................................................................................2233
33.6.8.18.4 Fields...................................................................................................................2233
33.6.9.2.1 Offset...................................................................................................................2234
33.6.9.2.3 Diagram...............................................................................................................2235
33.6.9.2.4 Fields...................................................................................................................2235
33.6.9.3.1 Offset...................................................................................................................2236
33.6.9.3.3 Diagram...............................................................................................................2236
33.6.9.3.4 Fields...................................................................................................................2237
33.6.9.4.1 Offset...................................................................................................................2238
33.6.9.4.3 Diagram...............................................................................................................2238
33.6.9.4.4 Fields...................................................................................................................2238
33.6.9.5.1 Offset...................................................................................................................2239
33.6.9.5.3 Diagram...............................................................................................................2239
33.6.9.5.4 Fields...................................................................................................................2239
33.6.9.6.1 Offset...................................................................................................................2239
33.6.9.6.3 Diagram...............................................................................................................2240
33.6.9.6.4 Fields...................................................................................................................2240
33.6.9.7.1 Offset...................................................................................................................2241
33.6.9.7.3 Diagram...............................................................................................................2241
33.6.9.7.4 Fields...................................................................................................................2241
33.6.9.8.1 Offset...................................................................................................................2242
33.6.9.8.3 Diagram...............................................................................................................2243
33.6.9.8.4 Fields...................................................................................................................2243
33.6.9.9.1 Offset...................................................................................................................2243
33.6.9.9.3 Diagram...............................................................................................................2243
33.6.9.9.4 Fields...................................................................................................................2244
33.6.9.10.1 Offset...................................................................................................................2244
33.6.9.10.3 Diagram...............................................................................................................2245
33.6.9.10.4 Fields...................................................................................................................2245
33.6.9.11.1 Offset...................................................................................................................2245
33.6.9.11.3 Diagram...............................................................................................................2246
33.6.9.11.4 Fields...................................................................................................................2246
33.6.9.12.1 Offset...................................................................................................................2246
33.6.9.12.3 Diagram...............................................................................................................2246
33.6.9.12.4 Fields...................................................................................................................2247
33.6.9.13.1 Offset...................................................................................................................2247
33.6.9.13.3 Diagram...............................................................................................................2247
33.6.9.13.4 Fields...................................................................................................................2247
33.6.9.14.1 Offset...................................................................................................................2248
33.6.9.14.3 Diagram...............................................................................................................2248
33.6.9.14.4 Fields...................................................................................................................2248
33.6.9.15.1 Offset...................................................................................................................2249
33.6.9.15.3 Diagram...............................................................................................................2249
33.6.9.15.4 Fields...................................................................................................................2249
33.6.9.16.1 Offset...................................................................................................................2249
33.6.9.16.3 Diagram...............................................................................................................2250
33.6.9.16.4 Fields...................................................................................................................2250
33.7.1.3 1000Base-KX...........................................................................................................................2252
Chapter 34
34.2 Introduction...................................................................................................................................................................2258
34.4.3 Clock and Transfer Attributes Register (In Master Mode) (SPI_CTARn).................................................. 2270
34.5.2.3 Transmit First In First Out (TX FIFO) buffering mechanism................................................. 2290
34.5.2.4 Command First In First Out (CMD FIFO) Buffering Mechanism.......................................... 2291
34.6.5.1 Address Calculation for the First-in Entry and Last-in Entry in the TX FIFO........................ 2314
34.6.5.2 Address Calculation for the First-in Entry and Last-in Entry in the CMD FIFO.................... 2314
34.6.5.3 Address Calculation for the First-in Entry and Last-in Entry in the RX FIFO........................2315
Chapter 35
Thermal Monitoring Unit (TMU)
35.1 The TMU module as implemented on the chip............................................................................................................ 2317
35.3.2.1 Offset........................................................................................................................................2324
35.3.2.3 Diagram....................................................................................................................................2325
35.3.3.1 Offset........................................................................................................................................2326
35.3.3.3 Diagram....................................................................................................................................2326
35.3.4.1 Offset........................................................................................................................................2327
35.3.4.3 Diagram....................................................................................................................................2328
35.3.5.1 Offset........................................................................................................................................2329
35.3.5.3 Diagram....................................................................................................................................2329
35.3.6.1 Offset........................................................................................................................................2330
35.3.6.3 Diagram....................................................................................................................................2331
35.3.7.1 Offset........................................................................................................................................2332
35.3.7.3 Diagram....................................................................................................................................2332
35.3.8.1 Offset........................................................................................................................................2333
35.3.8.3 Diagram....................................................................................................................................2333
35.3.9.1 Offset........................................................................................................................................2334
35.3.9.3 Diagram....................................................................................................................................2334
35.3.10.1 Offset........................................................................................................................................2335
35.3.10.3 Diagram....................................................................................................................................2335
35.3.11.1 Offset........................................................................................................................................2336
35.3.11.3 Diagram....................................................................................................................................2337
35.3.12.1 Offset........................................................................................................................................2337
35.3.12.3 Diagram....................................................................................................................................2338
35.3.13 TMU monitor high temperature average critical threshold register (TMHTACTR)...................................2339
35.3.13.1 Offset........................................................................................................................................2339
35.3.13.3 Diagram....................................................................................................................................2339
35.3.14.1 Offset........................................................................................................................................2340
35.3.14.3 Diagram....................................................................................................................................2340
35.3.15.1 Offset........................................................................................................................................2341
35.3.15.3 Diagram....................................................................................................................................2341
35.3.16 TMU report immediate temperature site register a (TRITSR0 - TRITSR4)............................................... 2342
35.3.16.1 Offset........................................................................................................................................2342
35.3.16.3 Diagram....................................................................................................................................2342
35.3.17.1 Offset........................................................................................................................................2343
35.3.17.3 Diagram....................................................................................................................................2343
35.3.18.1 Offset........................................................................................................................................2344
35.3.18.3 Diagram....................................................................................................................................2345
35.3.19.1 Offset........................................................................................................................................2346
35.3.19.3 Diagram....................................................................................................................................2347
35.3.20.1 Offset........................................................................................................................................2348
35.3.20.3 Diagram....................................................................................................................................2348
35.3.21.1 Offset........................................................................................................................................2349
35.3.21.3 Diagram....................................................................................................................................2350
35.4.2 Reporting......................................................................................................................................................2352
Chapter 36
Universal Serial Bus Interface 3.0
36.1 Overview.......................................................................................................................................................................2353
36.2.18 Global SoC Bus Error Address Register low (USBx_GBUSERRADDRLO)............................................ 2400
36.2.19 Global SoC Bus Error Address Register high (USBx_GBUSERRADDRHI)............................................ 2401
36.2.20 Global SS Port to Bus Instance Mapping Register - Low (USBx_GPRTBIMAPLO)................................ 2401
36.2.30 Global High-Speed Port to Bus Instance Mapping Register - Low (USBx_GPRTBIMAP_HSLO).......... 2417
36.2.31 Global High-Speed Port to Bus Instance Mapping Register - High (USBx_GPRTBIMAP_HSHI)...........2417
36.2.44 Global Host FIFO DMA High-Low Priority Ratio Register (USBx_GDMAHLRATIO).......................... 2432
36.4.2.1.5 Interrupt on Short Packet (ISP) and Continue on Short Packet (CSP) Usage.... 2490
36.4.3.3.1 Definitions...........................................................................................................2518
36.4.5.4 Commands 4 and 5: Set Stall and Clear Stall (DEPSSTALL, DEPCSTALL)........................2544
36.4.6.1.9 Core entering A-Host in HS/FS mode (Timeline for ADevBHostEvnt)............ 2570
Chapter 37
Watchdog Timer (WDOG)
37.1 Overview.......................................................................................................................................................................2581
37.3.5 Interrupt........................................................................................................................................................2585
1.1 Introduction
The LS1043A QorIQ advanced multicore processor combines two to four Arm®
Cortex®-v8 A53 cores with datapath acceleration optimized for L2/3 packet processing,
single pass security offload, robust traffic management, and quality of service.
This advanced quad-core 64-bit Arm processor is ideal for applications such as, branch
and enterprise routers, switches, firewall, packet filtering processors, and general-purpose
embedded computing applications. The high level of integration delivers significant
performance benefits, such as 10 GbE, mulitple USB 3.0 interfaces, single source clock.
Secure Boot
(SEC)
QUICC Engine
DMA
Parse, classify, Watchpoint
SATA 3.0
Cross
2x DUART distribute Trigger
4x I2C, 4x GPIO
Perf Trace
Buffer 1G 1G 1G 1/2.5G Monitor
8x FlexTimer Manager
1G 1G 1/2.5/10G
3x USB3.0 w/PHY
Core Complex
Accelerators and Memory Control
Basic Peripherals, Interconnect and Debug
Networking Elements
• Integrated flash controller (IFC) supporting NAND and NOR flash with 28-bit
addressing and 16-bit data interface
• Three USB 3.0 controllers with integrated PHY
• One enhanced secure digital host controller (eSDHC) supporting SD 3.0, eMMC
4.4 and eMMC 4.5 modes
• One QUICC engine (QE) block supporting TDM/HDLC
• Four I2C controllers
• Two 16550 compliant DUARTs, and six low power UARTs (LPUART)
• Four general-purpose I/O (GPIO)
• Eight FlexTimers/PWMs
• Five Watchdog timer
• Trust Architecture
• Debug supporting run control, data acquisition, high-speed trace, and
performance/event monitoring
FLASH DDR3L/4
Management
LS1043A
MII/RGMII USB 3.0 LTE module
A53 A53
PCl Express WiFi module
USB 3.0 802.11ac
A53 A53 WiFi module WLAN
PCl Express
FLASH DDR3L/4
Management
LS1043A
MII/RGMII
A53 A53
mPCl Express WiFi Module
USB 3.0 802.11ac
A53 A53 WLAN
mPCl Express WiFi Module
Quad
PHY
Ethernet XFI or 2.5G USB 3.0 SDD/HDD
Switch SGMII or SATA 3.0
Quad Security and Packet
PHY Processing
IPSec, SSL Frag /
GE RGMII Reassembly,
PHY Classification,
QoS
GE RGMII
PHY
The purpose of separating the process into 2 stages is to allow the guest OS to control the
address translation between VA and what it “thinks” is the PA, while the hypervisor
controls the translation from IPA to PA. This split process allows the hypervisor to
separate the resources of different Virtual Machines (VMs). Address translation is
performed both in the cores and also for IO devices, using the SMMU.
The MMU-500 is a distributed SMMU, which makes use of one central controller (TCU)
and up to 32 translation units (TBUs). In this chip there is a single TCU, supporting a
total of 4 TBUs.
The DMA requests from these peripherals are connected to eDMA through DMAMUX
and the implmentation details can be found in LS1043A DMAMUX module special
consideration.
The DMAMUX selects from many DMA requests down to 16 for the DMA controller.
There are 2 DMAMUXs associated with each 32-channel DMA.
1.4.7 DUART
The DUART supports full-duplex operation and is compatible with the PC16450 and
PC16550 programming models. All the transmitter and receiver support 16-byte FIFOs.
The host and device functions are configured to support the following types of USB
transfers:
• Bulk
• Control
• Interrupt
• Isochronous
Key features of the USB controller include the following:
• OTG 2.0
• USB dual-role operation and can be configured as host or device
• Operation as a stand-alone USB device
• One upstream facing port
• Six programmable USB endpoints
• Operation as a stand-alone USB host controller
• USB root hub with one downstream-facing port
• Enhanced host controller interface (EHCI) compatible
• Super-speed (5 GT/s), High-speed (480 Mbps), and full-speed (12 Mbps) operations.
1.4.11.3 SGMII
The serial gigabit media independent interface (SGMII) is a high-speed interface linking
the Ethernet controller with an Ethernet PHY. SGMII uses differential signaling for
electrical robustness. Only four signals are required: receive data and its inverse, and
send data and its inverse; no clock signals are required.
The chip supports the asynchronous serial bus communication interface with
programmable 8- or 9-bit data format and support of CEA709.1-B (LON), ISO 7816
smart card interface.
The qDMA controller transfers blocks of data between one source and one or more
destinations. The blocks of data transferred can be represented in memory as contiguous
or non-contiguous using scatter/gather table(s).
The qDMA supports following general features:
• Supports channel virtualization through enqueuing of DMA jobs to, or dequeuing
DMA jobs from, different work queues
• Supports four virtualized blocks for multi core support
• Supports 8 command queues and one status queue per virtualized blocks
• Supports PQ3 legacy direct mode through register interface
If the qDMA is operating in a mixed command queue/legacy mode, legacy mode jobs
will be serviced with highest priority as soon as an engine becomes available.
The qDMA is a high performance DMA and can be used for data transfers between DDR
to DDR, DDR to PCI Express for outbound transactions and DDR to memory-mapped
flash interfaced through IFC.
The chip supports the synchronous serial bus for communication to an external device.
The WDOG module monitors internal system operation and forces a reset in case of
failure. It operates on RTC 32 KHz clock. The chip supports five WDOGs, out of which
one is dedicated for Trustzone support and other four are for A53 cores (one for each core
in the cluster).
1. The DPAA components should be in big-endian mode. The DPAA (FMan, QMan, BMan, and Security modules) data
structures can be in the following locations:
• CCSR registers
• Portals
• Frame descriptors such as data structures shared between software/hardware (in DDR):
• Arm A53, little-endian mode: The DPAA software should perform endianness-related byte-swap (for write
access, little endian should be swapped to big endian; for read access, big endian should be swapped to little
endian) for accessing the DPAA components.
• Arm A53, big-endian mode: The DPAA software will not perform endianness-related byte-swap for accessing
the DPAA components.
Note that individual chapters of this document provide details for each signal, describing
each signal's behavior when the signal is asserted or negated and when the signal is an
input or an output.
The following tables provides a summary of the signals grouped by function. This table
details the signal name, interface, alternate functions, and whether the signal is an input,
output, or bidirectional. The direction of the multiplexed signals applies for the primary
signal function listed in the left-most column of the table for that row (and does not apply
for the state of the reset configuration signals). Finally, the tables provide a pointer to the
table where the signal function is described.
Table 3-1. LS1043 Signal Reference by Functional Block
Name Description Alternate Function(s) Pin
type
DDR SDRAM Memory Interface 1 (See DDR Signals Overview for more details.)
D1_MA00 Address - O
D1_MA01 Address - O
D1_MA02 Address - O
D1_MA03 Address - O
D1_MA04 Address - O
D1_MA05 Address - O
D1_MA06 Address - O
D1_MA07 Address - O
D1_MA08 Address - O
D1_MA09 Address - O
D1_MA10 Address - O
D1_MA11 Address - O
D1_MA12 Address - O
D1_MA13 Address - O
D1_MA14 Address - O
D1_MA15 Address - O
D1_MAPAR_ERR_B Address Parity Error I
D1_MAPAR_OUT Address Parity Out - O
D1_MBA0 Bank Select - O
D1_MBA1 Bank Select - O
D1_MBA2 Bank Select - O
D1_MCAS_B Column Address Strobe - O
D1_MCK0 Clock - O
D1_MCK0_B Clock Complement - O
D1_MCK1 Clock - O
D1_MCK1_B Clock Complement - O
D1_MCKE0 Clock Enable - O
1. cfg_rcw_src[0:8]=1_1111_1111 is not a valid setting; They must be set to one of the valid options defined in Reset
configuration word (RCW) source
NOTE
• 8 bit MMC DDR is not supported.
• SPI_CLK is available only when RCW[SPI_EXT]=000
and RCW[SPI_BASE]=00. Some SPI signals are also
available when RCW[SPI_EXT]=010, however SPI_CLK
must be generated by master.
The following sections describe the reset and clock signals in detail.
The table below describes some of the system control signals. Power-on reset
configuration describes the signals that also function as reset configuration signals.
Table 4-3. System control signals: Detailed signal descriptions
Signal I/O Description
PORESET_B I Power on reset. Causes the chip to abort all current internal and external
transactions and set all registers to their default values. PORESET_B may be
asserted completely asynchronously with respect to all other signals.
HRESET_B I/O Hard reset. Causes the chip to abort all current internal and external transactions
and set all registers to their default values. HRESET_B may be asserted completely
asynchronously with respect to all other signals. HRESET_B is driven as an output
during the first part of the power on reset sequence, after which, it becomes an
input, allowing external devices to stall/hold the reset sequence. See Hard reset
sequence for more information. For reset assertion to the chip, use only
PORESET_B.
State Asserted/Negated-See and Power-on reset configuration for more
Meaning information on the interpretation of the other signals during reset.
Timing Assertion/Negation-The chip data sheet gives specific timing
information for this signal.
RESET_REQ_B O Reset request. Indicates to the board (system in which the chip is embedded) that a
condition requiring the assertion of HRESET_B or PORESET_B has been detected.
State Asserted-An event has triggered a request for either a hard reset or a
Meaning power on reset. See Reset Request Status Register
(DCFG_CCSR_RSTRQSR1)
Negated-Indicates no reset request.
Timing Assertion/Negation-May occur any time. Once asserted,
RESET_REQ_B does not negate until either HRESET_B or
PORESET_B is asserted.
CKSTP_OUT_B O Checkstop out.
Note that in LS1043A chip this signal is reserved for internal use. For more
information, refer the chip specific design checklist.
State Asserted-Indicates that the chip is in a checkstop state.
Meaning
Negated-Indicates normal operation. After CKSTP_OUT_B has been
asserted, it is negated after the next negation (low-to-high transition)
of PORESET_B.
Timing Assertion-May occur at any time; may be asserted asynchronously to
the input clocks.
Negation-Must remain asserted until the chip has been reset with a
PORESET_B.
ASLEEP O Power Management Signal. See External Signal Description
TA_TMP_DETECT_B I Tamper Detect.
TA_BB_TMP_DETECT_B I Low Power Tamper Detect.
The following table summarizes the memory mapped registers which are used to
configure clocking features.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
CLKSEL Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R
Reserved
HWACLKSEL Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CLKCG1HWACSR (CGA_M1):
0000 Reserved
0001 Reserved
0010 CGA PLL1 divide-by-2
0011 CGA PLL1 divide-by-3
0100 Reserved
0101 Reserved
0110 CGA PLL2 divide-by-2
0111 CGA PLL2 divide-by-3
CLKCG2HWACSR (CGA_M2):
KILL Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R CFG
Reserved
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 PLL is active.
1 PLL is disabled.
1–22 This field is reserved.
- Reserved
23–30 Reflects the current PLL multiplier configuration. Indicates the frequency for this PLL.
CFG
PLLC1GSR[CFG] reflects the values programmed in RCW[CGA_PLL1_RAT] and PLLC2GSR[CFG]
reflects the values programmed in RCW[CGA_PLL2_CFG].
NOTE: Not all ratios are supported due to frequency restrictions. Refer to the chip data sheet for the
supported frequencies.
31 This field is reserved.
- Reserved
The CLKPCSR register selects which signal to observe on the CLK_OUT pad.
Address: 1EE_1000h base + A00h offset = 1EE_1A00h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CLKOEN
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
00 No division (divide-by-1)
01 Divide-by-2
10 Divide-by-4
11 Divide-by-8
23–31 This field is reserved.
- Reserved
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R CFG
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
NOTE: Not all ratios are supported due to frequency restrictions. Refer to the chip data sheet for the
supported frequencies.
31 This field is reserved.
- Reserved
The PLLDGSR register provides information regarding the DDR PLL configuration.
Address: 1EE_1000h base + C20h offset = 1EE_1C20h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
KILL Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R CFG
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 PLL is disabled.
1–22 This field is reserved.
- Reserved
23–30 Reflects the current PLL multiplier configuration. Indicates the frequency for this PLL.
CFG
Reflects the values programmed in RCW[MEM_PLL_RAT].
31 This field is reserved.
- Reserved
2. The external system logic asserts PORESET_B and power is applied to comply with
the chip's data sheet .
3. PORESET_B asserted causes all registers to be initialized to their default states and
most I/O drivers to be released to high impedance (some clock, clock enables, and
system control signals are active).
NOTE
The common on-chip processor (COP) requires the ability
to independently assert PORESET_B and TRST_B to fully
control the processor. If a JTAG/COP port is used, follow
the JTAG/COP interface connection recommendations
given in the chip's data sheet . If the JTAG interface and
COP header are not being used, it is recommended that
TRST_B be tied to PORESET_B so that TRST_B is
asserted when PORESET_B is asserted, ensuring that the
JTAG scan chain is initialized during the power-on reset
flow. See the JTAG configuration signals section in the
chip's data sheet for more information.
4. The system applies a toggling SYSCLK signal and stable POR configuration inputs.
At this point, SYSCLK is propagated throughout the device; the platform PLL is
running in bypass mode.
5. The device begins driving HRESET_B asserted after sampling the assertion of
PORESET_B.
6. External system logic negates PORESET_B after its required hold time and after
POR configuration inputs have been valid for their required setup times.
7. The device samples the RCW source POR configuration inputs (cfg_rcw_src[0:n])
on deassertion of PORESET_B to determine the RCW source. Note that the POR
configuration inputs are sampled only on a PORESET_B.
8. The device initiates and completes reset of the rest of the platform logic. Note that
this platform reset step is the point where the device hard reset process (HRESET_B)
begins if an external device asserts HRESET_B (assuming the device is not already
sequencing through the power-on reset process).
9. Some of the I/O drivers are enabled; specifically, any signals required by the
interface specified as the source of RCW data in cfg_rcw_src[0:n]. All of the DDR
I/Os become enabled at this point (though MCKE, MCK, MODT are enabled from
the beginning). The ASLEEP signal is also enabled at this point.
10. If the IFC's NAND Flash interface is configured as the RCW source, the reset block
instructs the IFC to load a boot block from Flash into the internal buffer RAM of the
IFC. Once complete, the reset block proceeds to instruct the Pre-Boot Loader to
begin reading in RCW data. Note that if the IFC NAND Flash interface reports an
ECC error, the device reset sequence is halted indefinitely, waiting for another
PORESET_B or hard reset.
11. The pre-boot loader (PBL) starts loading the RCW data from the interface specified
by cfg_rcw_src[0:n] configuration inputs and stores that 64 bytes of data to the
RCWSR registers within the device configuration block. Loading time varies and
depends on the source of the RCW. Note that if a hard-coded RCW option is used,
this PBL RCW loading process is effectively bypassed and the device is
automatically configured according to the specific RCW field encodings pre-
assigned for the given hard-coded RCW option (see Table 4-14) for more
information .
12. The PLLs begin to lock.
13. The sequence then waits for the PBL RCW process to be completed (loading of all
512 bits). If the PBL reports an error during its process of loading the RCW data, the
device reset sequence is halted indefinitely, waiting for another PORESET_B or hard
reset.
14. The platform clock tree is then switched over and is driven by the output of the
platform PLL.
15. The device stops driving HRESET_B at this point. All other I/O drivers are enabled
at this point.
16. If the IFC's NAND Flash interface is:
• configured as the pre-boot initialization source
OR
• the boot device target AND not fused as secure boot
AND
• the IFC's NAND Flash interface was NOT previously used as the RCW source,
then the reset block informs the IFC to load a boot block from Flash into the
internal buffer RAM of the IFC. Once complete, the IFC signals back to the reset
block, and the reset block can proceed. Note that if the IFC reports an ECC error,
the device reset sequence is halted indefinitely, waiting for a hard reset or
PORESET_B.
17. The PBL performs pre-boot initialization, if enabled by RCW, by reading data from
either the eSDHC, QuadSPI, or IFC interface and writing to CCSR space or local
memory space (OCRAM1 or OCRAM2, DDR). If the PBL reports an error during its
pre-boot initialization process, the device reset sequence is halted indefinitely,
waiting for a hard reset or PORESET_B.
18. Any external device optionally driving HRESET_B negates it if not done earlier. If
other external devices do not release HRESET_B, the device reset sequence stalls at
this point.
19. System ready state. The peripheral interfaces are released to accept external requests,
and the boot vector fetches by the cores are allowed to proceed unless processor
booting is further held off by the boot release register (BRR) in the device
configuration module. The ASLEEP signal negates synchronized to a rising edge of
SYSCLK, indicating the ready state of the system. After reaching this system ready
state, the ASLEEP signal transitions to the asserted state when the device enters sleep
mode.
NOTE
After completing reset, software should check the
SerDesx_PLLnRSTCTL[RST_DONE] field to make sure that
each active SerDes PLL on the device has locked. Transactions
or packet data cannot be transferred through the targeted lane(s)
of the SerDes interface if the PLL associated with the lane(s)
does not lock properly. Note that a SerDes PLL will not lock if
the corresponding reference clock is not provided.
Figure below shows a timing diagram of the POR sequence.
PORESET_B
HRESET_B
(high impedance)
RESET_REQ_B
(high impedance)
ASLEEP
SYSCLK
POR Configs
Reset and RCW configuration time varies subject to the configuration source and
SYSCLK frequency. The reset configuration input signals are not sampled by a hard reset
(only a power-on reset), so the device immediately begins loading RCW data and
configures the device as explained in Reset configuration word (RCW). After the
configuration sequence completes, the device releases the HRESET signal and exits the
hard reset state. After negation is detected, a 16-cycle period is taken before testing for
the presence of an external reset. The hard reset sequence begins with reset of the device
at step 8 in Power-on reset sequence.
The figure below shows the reset timeline diagram in accordance with the power-on reset
sequence.
This section describes the functions and modes configured by the POR configuration
signals.
NOTE
In the following tables, the binary value 0 represents a signal
pulled down to GND and a value of 1 represents a signal pulled
up to that signal's corresponding VDD voltage level, regardless
of the sense of the functional signal name.
NOTE
The chip makes all the required pins available for selected
source interface for RCW. Any other multiplexing options on
these pins will be overridden.
1. By default UART is not configured, so boot code need to override the RCW for UART prompt in hard-coded RCW mode.
4.4.7 Clocking
The following sections describe the clocking within the chip.
FMAN-MAC
EC1_GTX_CLK125
Duty Cycle 125MHz duty cycle corrected clock
MUX
RGMII2 TX CLK (125MHz)
EC2_GTX_CLK125 Reshaper
MUX
SYS_REF_CLK
Core PLL
DIFF_SYSCLK_B/DIFF_SYSCLK
400 MHZ
Platform PLL
Platform Clock
On Board RCW[SYS_PLL_CFG]
Oscillator RCW[SYS_PLL_RAT]
RCW[SYS_PLL_SPD]
100 MHZ
3 Differential outputs
(SCFG_USB_REFCLK_SELCR[1-3])
cfg_eng_use0
SD1_REF_CLK1_P/SD1_REF_CLK1_N
SD1_REF_CLK2_P/SD1_REF_CLK2_N
MUX
USB PHY
3 instances
MUX
1G-1.6G
DDR Controller
DDR
PLL
DDRCLK
RCW[MEM_PLL_RAT]
RCW[MEM_PLL_CFG]
RCW[DDR_REFCLK_SEL] RCW[MEM_PLL_SPD]
SerDes PLL1
SerDes PLL2
FMAN-MAC
EC1_GTX_CLK125
Duty Cycle 125MHz duty cycle corrected clock
MUX
EC2_GTX_CLK125 Reshaper RGMII2 TX CLK (125MHz)
SYSCLK
MUX
SYS_REF_CLK 1.0 - 1.6 GHz
Core PLL
400 MHZ
Platform PLL
Platform Clock
On Board On Board RCW[SYS_PLL_CFG]
Oscillator Oscillator
RCW[SYS_PLL_RAT]
RCW[SYS_PLL_SPD]
100 MHZ
100 MHZ
2 Differential outputs
2 Single ended output
cfg_eng_use0 (SCFG_USB_REFCLK_SELCR[1-3])
SD1_REF_CLK2_P/SD1_REF_CLK2_N
SD1_REF_CLK1_P/SD1_REF_CLK1_N
MUX
USB PHY
3 instances
DDR_PLL
MUX
1G - 1.6G
DDR Controller
DDRCLK
RCW[MEM_PLL_CFG]
RCW[DDR_REFCLK_SEL] RCW[MEM_PLL_RAT]
RCW[MEM_PLL_SPD]
SerDes PLL1
SerDes PLL2
FMAN-MAC
EC1_GTX_CLK125
125MHz duty cycle corrected clock RGMII2 TX CLK (125MHz)
MUX
EC2_GTX_CLK125 Duty Cycle
Reshaper
On Board
Oscillator
100Mz SYSCLK
1 Single-ended output
MUX
SYS_REF_CLK 1.0 - 1.6 GHz
Core PLL
DIFF_SYSCLK_B/DIFF_SYSCLK
400 MHz
Platform PLL
Platform Clock
On Board RCW[SYS_PLL_CFG]
Oscillator RCW[SYS_PLL_RAT]
RCW[SYS_PLL_SPD]
100 MHZ
3 Differential outputs
cfg_eng_use0 (SCFG_USB_REFCLK_SELCR[1-3])
On Board
SD1_REF_CLK1_P/SD1_REF_CLK1_N
SD1_REF_CLK2_P/SD1_REF_CLK2_N
Oscillator
MUX
100Mz USB PHY
2 Single-ended output 3 instances
MUX
1G-1.6G
DDR Controller
DDR
PLL
DDRCLK
RCW[MEM_PLL_RAT]
RCW[MEM_PLL_CFG]
RCW[DDR_REFCLK_SEL] RCW[MEM_PLL_SPD]
SerDes PLL1
SerDes PLL2
within the applicable IP module chapter of this reference manual. Each of the four
SerDes bank external interfaces are clocked by dedicated SerDes reference clock inputs
(SD1_REF_CLK1/SD1_REF_CLK2). (See Valid reference clocks and PLL
configurations for SerDes protocols for details regarding valid combinations of external
reference clocks and RCW configurations.)
NOTE
For any operations above 52 MHz, eSDHC must be clocked by
PLL source by setting eSDHCCTL[PCS] to 1.
CGA_PLL1
1/2
RCW[CGA_PLL1_RAT]
1/3
RCW[CGA_PLL1_CFG]
RCW[CGA_PLL1_SPD]
C1
Cluster 1
CGA_PLL2 (all cores)
1/2
RCW[CGA_PLL2_RAT] 1/3
SYSCLK
RCW[CGA_PLL2_CFG]
RCW[CGA_PLL2_SPD]
RCW[C1_PLL_SEL]
RCW[HWA_CGA_M1_CLK_SEL]
M1
FMAN
RCW[HWA_CGA_M2_CLK_SEL]
/2
M2
/4/8/12/16/20
MUX
/24/32/64/256
RCW[SYS_PLL_CFG]
RCW[SYS_PLL_RAT] SCFG_QSPI_CFG[CLK_SEL]
RCW[SYS_PLL_SPD]
platform clock
Platform PLL to IP Modules
to CGA M1
LPUART1
Core/CGA PLL1 to CGA M1/CGA M2
5x LPUART
3x I2C
platform clk
MUX
RCW[SYS_PLL_CFG] CSU
RCW[SYS_PLL_RAT]
RCW[SYS_PLL_SPD] Platform
Logic
SecMon
eSDHC
1/3
1/3 QuadSPI
RCW[USB3_REFCLK_SEL]
FTM
PBL
MUX
USB PHY
Debug/PerfMon
RCPM
TA_BB_RTC
5x WDOG IFC
RTC
SEC
3x PCIe
SATA
RCW[DDR_REFCLK_SEL] eDMA
USB 3.0
DIFF_SYSCLK_B
qDMA
DIFF_SYSCLK DDR
PLL
DDRCLK 4x SMMU
GIC-400
RCW[MEM_PLL_RAT]
RCW[MEM_PLL_CFG] DDR data rate
DDR Controller QUICC
RCW[MEM_PLL_SPD] Engine
Note that TA_BB_RTC is for internal use only.
5.1 Introduction
This chapter describes GIC interrupt assignments for the chip. These are the on-chip
interrupt sources from peripheral logic within the integrated device.
74 qDMA INT3
91 I2C4
92 USB1 See USBSTS register in Table 36-3 for more
information.
93 USB2
94 eSDHC (SD/MMC) See Interrupt status register (IRQSTAT) for more
information.
95 USB3 See USBSTS register in Table 36-3 for more
information.
96 SPI1 See Interrupts/DMA requests for more information.
97 Reserved
98 GPIO1 All GPIO interrupts are ORed together.
99 GPIO2 See GPIO interrupt event register (GPIER) for more
100 GPIO3 information.
6.1 Introduction
The chip implements the following Arm modules:
• Arm® Cortex®-A53 core
• Arm generic interrupt controller (GIC-400)
• System memory management unit (MMU-500)
• Cache coherent interconnect (CCI-400)
• Arm CoreLink™ TrustZone address space controller (TZC-380)
This chapter provides a brief overview of the core, interrupt controller, and memory
management unit. For more information on these modules, see the Arm documentation
that accompanies this reference manual.
Table 6-1. Related resources from Arm
Resource IP Revision
Arm® Cortex®-A53 MPCore Processor Technical Reference Manual r0p4
CoreLink™ GIC-400 Generic Interrupt Controller Technical Reference Manual r0p1
Arm® CoreLink™ MMU-500 System Memory Management Unit Technical Reference Manual r2p2
The MMU-500 is a distributed SMMU, which makes use of one central controller (TCU)
and up to 32 translation units (TBUs). In this chip there is a is a single TCU, supporting a
total of 4 TBUs. The SMMU supports 8 Stream ID bits and SSD. The security attributes
and other security features depends on the SSD.
The SSD is secure state determination. In LS1043A, the SSD table is initialized to
contain only two entries 0 (secure transaction) and 1 (non-secure transaction). And, these
entries are indexed by the NS_IN attribute (0 for secure and 1 for non-secure) of the
transaction.
Each master has an unique stream ID assigned to it. The StreamID is an identifier
attached to each transaction in order to determine the translation context. The SMMU
uses in hit/miss mechanism for the following concatenation {tbu number, stream_id}.
This concatenation (and not just the stream id) is then assigned (if exist)to a context bank
that determines the translation type and form. Another parameter that affects the
translation is the SSD value. Secure transactions can only be subjected to a stage 2
translation, so this value also plays a part in the translation process.
The isolation context identifier (ICID) maps an incoming transaction from IO device to
one of the context, it maps to StreamID as described in Arm documentations. All the
SMMU support 8 ICID bits and SSD index. The address translation depends only on the
ICID of the incoming transaction. The security attributes and other security features
depends on the SSD index.
Some masters have an unique ICID assigned to it and is configurable through SCFG
registers. The ICID is an identifier attached to each transaction in order to determine the
translation context. The SSD index and ICID for the masters are identical and share the
same register field of ICID registers.
Table 6-4. ICID connectivity
IO Device ICID Connectivity
IP Driven SCFG Register
FMan ICID output of FMan not configured through SCFG registers
QMan/BMan ICID output of QMan/ not configured through SCFG registers
BMan
SEC ICID output of SEC not configured through SCFG registers
PCI express ICID output of PCI not configured through SCFG registers
1, 2, 3 Express
qDMA ICID output of qDMA not configured through SCFG registers
SATA - One register to define 8 bits for ICID. Refer SATA ICID register (SATA_ICID) in chapter
"Supplemental Configuration Unit".
USB 1, 2, 3 - One register to define 8 bits for ICID. Refer USB1 ICID register (USB1_ICID), USB2
ICID Register (USB2_ICID), and USB3 ICID Register (USB3_ICID) in chapter
"Supplemental Configuration Unit".
All the SMMU's support cache coherency for the page table walks and DVM transactions
for page table cache maintenance operations. The PAGESIZE for all the SMMU's are 64
KB size.
The key guideline in the SMMU structure is that any transaction from any IP to a
memory location (either to another IP or to the external memory) must go through the
SMMU. This is true even if the device generates transactions using physical address, as
the SMMU is also required for resource separation between VMs and must therefore
inspect every transaction.
The following SMMU registers are implementation specific and their values are
mentioned below:
Register Secure access Non-secure access
SMMU_IDR0 32’hFC01_7E40 32’h7C01_7E40
SMMU_IDR1 32’h4000_1F20 32’h4000_0020
SMMU_IDR2 32’h0000_5555 32’h0000_5555
SMMU_IDR7 32’h0000_0021 32’h0000_0021
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
W
Reserved L2 SL15 SL14 SL13 SL12 SL11 SL10 SL9 SL8
Reset 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W
Reserved L1 SL7 SL6 SL5 SL4 SL3 SL2 SL1 SL0
Reset 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1
SA15_n
SA14_n
SA13_n
SA12_n
SA11_n
SA10_n
SA9_n
SA8_n
L15_n
L14_n
L13_n
L12_n
L11_n
L10_n
L9_n L8_n
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
SA7_n
SA6_n
SA5_n
SA4_n
SA3_n
SA2_n
SA1_n
SA0_n
L7_n L6_n L5_n L4_n L3_n L2_n L1_n L0_n
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The ACTZS configuration portion of the MSCM programming model map is shown in
the table below. It is partitioned into two sections:
Offset addresses 0xC00 - 0xC18 define interrupt configurability of CSU related access
violation reporting.
Offset addresses 0xD00 - 0xDDC contain captured access address and attribute
information for CSL-detected violations.
Attempted writes to read-only registers are simply ignored (RO/WI). This section
contains the target access fault information like CSLn attribute check logic plus an array
of 128-bit register structures containing captured CSLn fault information.
All the register accesses are privilege/supervisor
MSCM_ACTZS memory map
Absolute
Width Section/
address Register name Access Reset value
(in bits) page
(hex)
ACTZS CSL Interrupt Enable Register
152_0C10 32 R/W 0000_0000h 7.3.1.1/307
(MSCM_ACTZS_CSLIER)
152_0C14 ACTZS CSL Interrupt Register (MSCM_ACTZS_CSLIR) 32 R/W 0000_0000h 7.3.1.2/310
ACTZS CSL Interrupt Overrun Register
152_0C18 32 R/W 0000_0000h 7.3.1.3/313
(MSCM_ACTZS_CSOVR)
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CIE21
CIE20
CIE19
CIE18
CIE17
CIE16
Lock Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
Reserved
CIE15
CIE13
CIE12
CIE10
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
is cleared by writing a "1" to it; this would typically be done after the captured fail
address and attribute information is retrieved from the appropriate MSCM_CSF*R
register. Additionally, the clearing of an interrupt flag in this register also clears the
corresponding bit in the MSCM_CSLOVR register and rearms the logic for capturing the
failed access information.
Address: 152_0000h base + C14h offset = 152_0C14h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
INT13
INT12
INT10
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
OVR13
OVR12
OVR10
OVR9
OVR8
OVR4
OVR3
OVR2
OVR1
OVR0
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This section of the MSCM_ACTZS programming model contains an array of four word
(128-bit) data values containing address and attribute information corresponding to CSLn
access check violations. The format of this data structure is identical to the fail status
information captured by the TZASC when they detect a security violation.
When a CSLn access check violation is detected, the bus transaction is error terminated,
the appropriate bit in the MSCM_CSLIR set and the fail address and attribute
information captured in the corresponding data structure. The contents of the captured
fail data is unaffected until the interrupt flag is cleared by writing a 1 to it, at which time,
the capturing of fail information is rearmed.
The LS1 implementation supports n = [0-14] and contains an array of ten 128-bit data
structures and four reserved structures as defined in table below.
Table 7-3. MSCM CSLn Fail Status Capture Registers
Base Offset Source
Address
0xD00 PCI Express controller 1 IO Config Space and
memory space
0xD10 PCI Express controller 2 IO Config Space and
memory space
0xD20 PCI Express controller 1 Register space(CCSR)
0xD30 PCI Express controller 2 Register space(CCSR)
0xD40 QuadSPI memory space
0xD50-0xD70 Reserved
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
FAD
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
Reserved FWT Reserved FNS FPR Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved FMID
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
For the slave ACTZS ports using the AXI bus protocol, it is possible to detect
simultaneous access violations on the read and write channels. For this condition, the
CSLn Fail Status Registers (MSCM_CSFARn, MSCM_CSFCRn, MSCM_CSFIRn)
capture the information associated with the write access and additionally set the
appropriate overrun indicator in the MSCM_CSOVR.
The contents of the MSCM_CSFCRn is unaffected until the corresponding
MSCM_CSLIR interrupt flag is cleared by writing a 1 to it, at which time, the capturing
of fail information is rearmed.
Attempted privileged mode writes are ignored.
Address: 152_0000h base + DFCh offset + (16d × i), where i=0d to 6d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
Reserved FWT Reserved FNS FPR Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This table shows the register list of CCSR access control unit.
Secure_system_counter memory map
Absolute
Width Section/
address Register name Access Reset value
(in bits) page
(hex)
2B0_0000 Control register (Secure_system_counter_CNTCR) 32 R/W 0000_0000h 8.1.1.1/332
LSB of counter count value register
2B0_0008 32 R/W 0000_0000h 8.1.1.2/332
(Secure_system_counter_CNTCV1)
MSB of counter count value register
2B0_000C 32 R/W 0000_0000h 8.1.1.3/333
(Secure_system_counter_CNTCV2)
Counter frequency mode table base frequency register
2B0_0020 32 R/W 00BE_BC20h 8.1.1.4/333
(Secure_system_counter_CNTFID0)
Counter frequency mode table end frequency register
2B0_0024 32 R/W 0000_0000h 8.1.1.5/334
(Secure_system_counter_CNTFID1)
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved EN
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register indicates the current LSB count value of the 64-bit counter. The register is
writable only by secure writes. When the counter is enabled, the effect of writing the
register is unpredictable.
Address: 2B0_0000h base + 8h offset = 2B0_0008h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
CNCTV1
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
CNCTV2
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register specifies the base frequency of the system counter. The system counter
always works with SYS_REF_CLK/4 frequency clock. The initial value of this register is
25 MHz (100 MHz/4). The software needs to update this register initially to reflect the
correct frequency based on system reference clock.
Address: 2B0_0000h base + 20h offset = 2B0_0020h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
CNT_BASE
Reset 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
END_MARKER
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The non-secure counter memory map provides register list for the non-secure world to
access the counter values.
Non_Secure_SYS_Counter memory map
Absolute
Width Section/
address Register name Access Reset value
(in bits) page
(hex)
LSB of Counter Count Value
2B1_0000 32 R 0000_0000h 8.1.2.1/335
(Non_Secure_SYS_Counter_CNCTV_RO1)
MSB of counter count value register
2B1_0004 32 R 0000_0000h 8.1.2.2/335
(Non_Secure_SYS_Counter_CNCTV2_RO2)
This register is read-only and contains the current LSB count value of the 64-bit counter.
Address: 2B1_0000h base + 0h offset = 2B1_0000h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R CNCTV_RO1
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The register is read-only and contains the current MSB count value of the 64-bit counter.
Address: 2B1_0000h base + 4h offset = 2B1_0004h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R CNCTV_RO2
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9.1 Introduction
The interconnect fabric has QoS (quality of service) regulators enabled for data traffic
originating from PCI express masters and qDMA master. The various options of QoS are
bypass, fixed, limiter, and regulator modes. See Figure 10-1 for the connectivity of
interconnect fabric with PCI Express, qDMA, and CCI-400.
This table shows the register memory map for the interconnect.
IF memory map
Absolute
Width Section/
address Register name Access Reset value
(in bits) page
(hex)
2CA_2688 Priority qdma (IF_prio_qdma_read_only) 32 R/W 8000_0100h 9.3.1/339
2CA_268C Mode qdma (IF_mod_qdma_read_only) 32 R/W 0000_0002h 9.3.2/340
2CA_2690 Bandwidth qdma (IF_bw_qdma_read_only) 32 R/W 0000_0005h 9.3.3/340
2CA_2694 Saturation qdma (IF_sat_qdma_read_only) 32 R/W 0000_0100h 9.3.4/341
2CA_2698 ExtControl qdma (IF_ext_cntrl_qdma_read_only) 32 R/W 0000_0000h 9.3.5/341
2CA_2708 Priority qdma (IF_prio_qdma_write_only) 32 R/W 8000_0100h 9.3.6/342
2CA_270C Mode qdma (IF_mod_qdma_write_only) 32 R/W 0000_0002h 9.3.7/342
2CA_2710 Bandwidth qdma (IF_bw_qdma_write_only) 32 R/W 0000_0005h 9.3.8/343
2CA_2714 Saturation qdma (IF_sat_qdma_write_only) 32 R/W 0000_0100h 9.3.9/343
2CA_2718 ExtControl qdma (IF_ext_cntrl_qdma_write_only) 32 R/W 0000_0000h 9.3.10/344
2CA_2788 Priority pex (IF_prio_pex_read_only) 32 R/W 8000_0100h 9.3.11/344
2CA_278C Mode_pex (IF_mod_pex_read_only) 32 R/W 0000_0002h 9.3.12/345
2CA_2790 Bandwidth_pex (IF_bw_pex_read_only) 32 R/W 0000_0005h 9.3.13/346
2CA_2794 Saturation_pex (IF_sat_pex_read_only) 32 R/W 0000_0100h 9.3.14/346
2CA_2798 ExtControl_pex_ro (IF_ext_cntrl_pex_ro) 32 R/W 0000_0000h 9.3.15/347
Table continues on the next page...
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R Mark
Reserved
W
Reset 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Reserved P1 Reserved P0
W
Reset 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
W
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W
Reserved Mode
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W
Reserved Bandwidth
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W
Reserved Saturation
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SocketQosEn
R
ExtThrEn
IntClkEn
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R Mark
Reserved
W
Reset 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Reserved P1 Reserved P0
W
Reset 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
W
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W
Reserved Mode
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W
Reserved Bandwidth
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W
Reserved Saturation
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SocketQosEn
R
ExtThrEn
IntClkEn
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R Mark
Reserved
W
Reset 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Reserved P1 Reserved P0
W
Reset 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
W
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W
Reserved Mode
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W
Reserved Bandwidth
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W
Reserved Saturation
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SocketQosEn
R
ExtThrEn
IntClkEn
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R Mark
Reserved
W
Reset 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Reserved P1 Reserved P0
W
Reset 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
W
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W
Reserved Mode
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W
Reserved Bandwidth
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W
Reserved Saturation
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SocketQosEn
R
ExtThrEn
IntClkEn
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
A53 S4
core cluster DDR
M1 TZASC
controller
FMan/QMan/BMan
TBU0+TCU S0
SEC
CCI-400
Not Used S3
M0 OCRAM1
TBU3 S2 OCRAM2
3xUSB 3.0
CCSR
eSDHC S1 M2
uQE IFC
The CCI-400 combines interconnect and coherency functions into a single module.
Snooping and DVM message broadcast are disabled at reset, so you must enable the
appropriate masters for snooping and DVM messages using the Snoop Control Registers
before shareable or DVM messages are sent to the CCI-400. See Snoop Control Registers
(Snoop_Control_Register_S0 - Snoop_Control_Register_S4).
Each ACE slave interface has programmable bits in the Snoop Control Registers. These
bits control the issuing of snoop and DVM message requests on that interface.
NOTE
ACE-Lite slave interfaces have programmable bits to enable
DVM messages only.
These programmable bits of the Snoop Control Registers are tied LOW at reset so you
must program them HIGH for each master in the shareable domain before shareable
transactions or DVM messages are sent to the CCI-400. Before disabling a master, you
must disable snoop and DVM messages to that master by programming the relevant
Snoop Control Register bits LOW.
To avoid deadlock through having AC requests enabled to interfaces where masters are
not present, or not able to process them, the CCI-400 has the following hardware and
software override mechanisms:
• Each slave interface has an ACCHANNELEN input bit that, if you tie it LOW,
prevents that interface from issuing any AC requests.
NOTE
These bits are only sampled at reset.
• There are bits in the Control Override Register to disable all snooping or all DVM
message broadcast, irrespective of the programming of the Snoop Control Register.
If you want to remove a master from the coherent domain, for example if a processor is
being powered down, take the following actions:
1. Stop the processor from issuing shareable transactions. See the documentation of the
processor.
2. Clean any shareable data in the processor cache. See the documentation of the
processor.
3. Use the Snoop Control Register to prevent any more snoops or DVM messages being
sent to the processor. See the Snoop Control Registers (Snoop_Control_Register_S0
- Snoop_Control_Register_S4).
4. Poll the CCI Status Register to confirm that the changes to the Snoop Control
Register have completed. See the Status Register (Status_Register).
After you complete these actions, the master is no longer in the coherent domain and you
can power it down or disable it. You must enable snoops to that master again before it
allocates any shareable data in its cache.
For an application where the probability of a miss is high, then the snoop request and
response time adds directly to the latency for each transaction labelled as shareable. To
mitigate this, you can program each master interface to issue a fetch downstream in
parallel with issuing a snoop request. This is known as a speculative fetch.
In the event that the snoop associated with a speculative fetch hits in a cache, then the
data from the snoop is returned in preference to the data from the speculative fetch.
A speculative fetch is issued before all hazards that had arisen from the corresponding
snoop have been resolved. Therefore, it is sometimes necessary to discard the data
returned from memory and retry the fetch. These cases are:
• When a hazarding write transaction is detected. This hazarding write transaction
must be ordered before the speculative fetch.
• When data from the speculative fetch returns before the snoop response for that
transaction, and the read data buffer is already occupied by data waiting for a snoop
response.
You can use the PMU to record the number of retry transactions for each master
interface.
NOTE
Speculative fetches are only issued for these read-type
transactions:
• ReadOnce .
• ReadClean .
• ReadNotSharedDirty .
• ReadUnique .
• ReadShared.
Although speculative fetches reduce the latency in the case of a snoop miss, there is a
bandwidth and power penalty because of the additional transactions on a snoop hit.
Therefore, you can disable speculative fetches where you expect a significant number of
snoops to hit. You can use the Speculation Control Register to disable speculative fetches
for a master or a slave interface. For example, you can disable speculative fetches for
transactions from a master that is not latency sensitive. See Speculation Control Register
(Speculation_Control_Register).
10.2.4 Security
If you are building a system based on the Secure and Non-secure capabilities that Arm
TrustZone® technology provides, then you must consider security issues. This section
describes:
• Internal programmers view.
• Security of master interfaces.
With the exception of the PMU registers, the programmers view defaults to Secure access
only, as follows:
• Non-secure read requests to Secure registers receive a DECERR response,
RRESP[1:0] == 0b11 , and zeroed data.
• Non-secure write requests to Secure registers receive a DECERR response,
BRESP[1:0] == 0b11 and are Write-Ignored (WI).
NOTE
Some accesses might receive a response before they reach the
CCI-400 registers and so do not receive a DECERR response
nor affect the register values. An example of this is a cache
maintenance operation that incorrectly addresses the CCI-400
register space.
You can override these security settings in the Secure Access Register. At reset, you can
only access this using Secure requests, but if you write to it, this enables Non-secure
access to all registers in the CCI-400 except for the Control Override Register and Secure
Access Register. See Control Override Register (Control_Override_Register) and Secure
Access Register (Secure_Access_Register).
Transactions from the CCI-400 master interfaces always retain the security setting of the
originating transactions. This applies to:
• Non-shareable transactions.
• Snoop misses.
• Speculative fetches.
• CCI-400-generated writes.
The CCI-400 uses a mixture of precise and imprecise signaling of error responses, where:
• Precise errors are signalled back to the master on the R and B channels for the
precise transaction that caused the error.
• Imprecise errors are not signalled on R and B channels but are instead signalled using
the nERRORIRQ output pin (See Table "Interrupt Assignments" in the "Interrupt
Assignments" chapter). You can identify the interface that received the error
response by reading the Imprecise Error Register. See Imprecise Error Register (Impr
ecise_Error_Register).
Table 10-2 shows the errors that are signalled as imprecise. All other sources of error are
signalled precisely.
NOTE
An error is signalled either precisely or imprecisely, but never
both.
Table 10-2. Imprecise errors
Transaction causing error Channel receiving error Imprecise error indicator from
A ReadX snoop that misses in the cache CR Slave interface receiving the CR
and fetches data from downstream response
Distributed Virtual Memory message CR Slave interface receiving the CR
response
Speculative fetch that returns an error, R Master interface receiving the R
but the snoop returns data response
Speculative fetch that must be retried R Master interface receiving the R
response
Write that the CCI-400 generated B Master interface receiving the B
response
The CCI-400 generates a precise DECERR response in the case of a security violation on
a CCI-400 register access. See Imprecise Error Register (Imprecise_Error_Register) and
Security .
10.2.6 Barriers
The CCI-400 supports all types of AMBA 4 barrier transactions. Each slave interface
broadcasts these to every master interface, ensuring that intermediate transaction source
and sink points observe the barrier correctly.
The ACE slave interfaces support DVM messages through their regular AC and CR
channels. The ACE-Lite interfaces all contain AC and CR channels to support DVM
messages only. Each slave interface has a programmable enable bit to determine whether
it supports the issuing of AC requests for DVM messages. DVM messages are handled as
regular transactions in the CCI-400, except that they are decoded based on the DVM
message indicator, instead of the address, to ensure that multi-transaction DVM messages
are correctly ordered.
The Snoop Control Registers and Control Override Register control the issuing of DVM
message requests. See Snoop Control Registers (Snoop_Control_Register_S0 - Snoop_
Control_Register_S4) and Control Override Register (Control_Override_Register).
ACE and ACE-Lite, plus DVM slave interfaces support all types of DVM transaction.
These are:
• DVM Operation.
• DVM Synchronization.
• DVM Complete.
The R channel response to a DVM messages is sent immediately by the CCI-400. If the
DVM message results in an error response, this is signaled imprecisely. For more
information, see Error responses .
NOTE
• A master that issues DVM messages must also be able to
receive DVM messages. The slave interface through which
the master connects must have DVM messages enabled.
Each CCI-400 slave interface has ARQOS and AWQOS input signals that transport a
transaction-based QoS value. This determines the relative priority between transactions
on that interface, or between interfaces. The CCI-400 uses the QoS value when it chooses
between transaction requests at arbitration points and within queues. Transaction requests
with the highest QoS value are prioritized. The CCI-400 uses a Least Recently Granted
(LRG) scheme when two or more transactions share the highest value.
QoS values are propagated by CCI-400.
NOTE
Ensure that you balance the relative priorities of all slave
interfaces. For example, setting each to the highest QoS value
reduces the arbitration to LRG and no advantage is gained from
having a QoS value.
You can override the ARQOS and AWQOS input signals from each slave interface by
using a programmable register if the relevant static input signal, QOSOVERRIDE[4:0],
with one bit for each of slave interfaces 4-0, is HIGH. The QoS override is either based
on a programmable value or uses performance feedback to set the value within a
programmable range. Transactions that the CCI-400 generates use the same QoS value as
the instigating transaction or the override value if QOSOVERRIDE is set.
NOTE
QOSOVERRIDE[4:0] input signal is not controllable in this
device and set to zero.
NOTE
QOSOVERRIDE only applies to transactions that have a
ARQOS or AWQOS value of 0. Therefore, each interface can
have a mixture of traffic that is overridden or regulated and
other traffic, with non-zero QoS value, that is unaffected. For
example, high priority MMU page table requests might be
mixed with high-bandwidth media requests that require
regulation.
QoS value regulation
CCI-400 regulation mechanisms vary the transaction QoS value depending on latency or
bandwidth achieved through that slave interface. You can program target latency or
bandwidth and a QoS value range for each regulator. Arm recommends that achievable
targets are set so that the regulator uses the minimum QoS value in most cases and only
increases the QoS value, up to the programmed maximum, under worst case conditions.
The maximum value for each regulator is 0 at reset, so you must program a maximum
value before the regulator can be used.
You can control the rate of change of the regulator integrator by using a programmable
scale factor. There are two types of QoS value regulation:
• Regulation based on latency.
• Regulation based on bandwidth.
Regulation based on latency
In this regulation mode, QoS values change based on measured latency. The value tends
to increase if the latency is greater than the target and decrease if the latency is lower than
the target.
Regulation based on bandwidth
For bandwidth regulation, the target used for feedback is the period between successive
request handshakes, in cycles. The value tends to increase if the period is greater than the
target and decrease if the period is lower than the target. If the average number of bytes
per request is known, this is equivalent to a bandwidth measure. Shareable transactions in
the CCI-400 are 64 bytes in size, so this is usually a good approximation to use.
There are two modes of operation available when you are using this type of regulation:
Normal mode
In this mode the QoS value remains stable when the master is idle, this is equivalent to
measuring the average bandwidth only when the master is active. This is the default
mode.
Quiesce High mode
In this mode, the QoS value tends to the maximum programmed value when the master is
idle, so when it becomes active, the initial transactions have a high QoS value. This mode
is suitable for latency sensitive masters because it allows the master to be serviced with
high priority while the bandwidth requirement is below that set. If the master starts to
exceed its programmed bandwidth, the priority is reduced. You can use this mechanism
to ensure that other masters are not excluded when latency sensitive masters take
significant bandwidth.
You enable QoS value regulation by setting the appropriate control bits. See Qos Control
Register (Qos_Control_Register_S0 - Qos_Control_Register_S4). When you enable QoS
value regulation, ARQOS and AWQOS values are driven by those generated by the
regulators, if the original transaction has a zero QoS value and the QOSOVERRIDE
configuration input is HIGH.
You can program the regulator mode using the QoS Control Registers.
NOTE
• Turning QoS value regulation on when
QOSOVERRIDE[x] is set LOW for a specific interface
has no effect.
• Transactions that do not transfer data are not counted for
QoS value regulation and do not have their QoS value
overridden. These transactions are:
• CleanUnique .
• MakeUnique .
• CleanShared .
• CleanInvalid .
• MakeInvalid .
• Evict .
• Barriers.
• DVM transactions.
The CCI-400 offers an additional mechanism for regulating traffic flows for the benefit
of overall performance. Each ACE-Lite slave interface has an optional, programmable
mechanism for limiting the number of outstanding read and write transactions, where an
Outstanding Transaction (OT) is a read request without read data, or a write request
without a response. This can be used where QoS value regulation is not effective because
the system is not sensitive to QoS value. The disadvantage of this form of regulation is
that it might stall the master even when the system is idle and traffic from this master is
not affecting the performance of other masters.
You can characterize a sequence of transactions, with periods when there are no
outstanding transactions, by using a fractional outstanding transaction number. For
example, if requests occur every 100 cycles, but it only takes 50 cycles for the last
response to arrive, then this corresponds to 0.5 OTs. The sum of the integer and fractional
values represents a maximum of the mean number of OTs in a sliding window and,
consequently, also over all time. If the fractional part is 0, the number of OTs is never
permitted to exceed the integer part. If the fractional part is not 0, the number of OTs is
not permitted to exceed one more than the integer part. This mean value is only achieved
if the attached master maintains the maximum number of transactions it is able to issue at
all times. Therefore, if the integer part is 0 and the fractional part is 0.5, and transactions
have a lifespan of 50 cycles, then a master can issue a transaction. It finishes after 50
cycles and it cannot issue the next transaction until 100 cycles, maintaining a mean
number of outstanding transactions as 0.5.
If you enable regulation, the following programmable values set the permitted number of
outstanding transactions:
• OT integer.
• OT fraction.
NOTE
• Outstanding transaction regulation only counts transactions
with a zero QoS value.
• Outstanding transaction regulation does not count or
override transactions that have no data associated with
them. These transactions are:
• CleanUnique .
• MakeUnique .
• CleanShared .
• CleanInvalid .
• MakeInvalid .
• Evict .
• Barriers.
• DVM transactions.
For example, assume the read tracker size is 32, implying that three slots are reserved for
medium to high priority requests and one slot is reserved for high priority requests. In this
case:
• The maximum number of slots available for high priority requests is 32.
• The maximum number of slots available for medium priority requests is 32 - 1 = 31.
• The maximum number of slots available for low priority requests is 32 - 3 - 1 = 28.
The QoS values that are considered as high and medium priority can be configured at the
design time using the R_THRESHOLD_UPPER and R_THRESHOLD_LOWER
parameters however the values configured for these two parameters in this chip are 15
and 11.
10.3.2.1 Offset
Register Offset
Control_Override_Reg 0h
ister
10.3.2.2 Function
The Control Override register is an additional control register that provides a fail-safe
override for some CCI-400 functions, if these cause problems that you cannot otherwise
work around. If you cannot avoid using them, only set them using non-bufferable
transactions, and before barriers, shareable transactions, or DVM messages are issued
into the CCI-400. This can be, for example, very early in the boot sequence, prior to the
installation of any Secure OS. You can access the Control Override Register using Secure
transactions only, irrespective of the programming of the Secure Access Register .
Available in all CCI-400 configurations.
10.3.2.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset u u u u u u u u u u u u u u u u
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Disable_Retry_Reduction_Buffers
Disable_Speculative_Fetches
Disable_Priority_Promotion
DVM_Message_Disable
Terminate_Barriers
Snoop_Disable
Reserved
Reset u u u u u u u u u u 0 0 0 0 0 0
10.3.2.4 Fields
Field Function
31-6 Reserved
—
5 Disable retry reduction buffers for speculative fetches
0b - Retry reduction buffers enabled.
Disable_Retry_
1b - Retry reduction buffers disabled.
Reduction_Buffe
rs
4 ARQOSARBS inputs are ignored
0b - The CCI-400 uses ARQOSARBS inputs to promote the priority of earlier requests.
Disable_Priority
1b - The CCI-400 ignores ARQOSARBS inputs.
_Promotion
3 Terminate Barriers
0b - Master interfaces terminate barriers according to the BARRIERTERMINATE inputs.
Terminate_Barri
1b - All master interfaces terminate barriers.
ers
Field Function
2 Disable Speculative Fetches
0b - Send speculative fetches according to the Speculation Control Register. See Speculation
Disable_Specul
Control Register.
ative_Fetches
1b - Disable speculative fetches from all master interfaces.
1 DVM Message Disable
0b - Send DVM messages according to the Snoop Control Registers. See Snoop Control Registers.
DVM_Message_
1b - Disable propagation of all DVM messages.
Disable
0 Snoop Disable
0b - Snoop masters according to the Snoop Control Registers. See Snoop Control Registers.
Snoop_Disable
1b - Disable all snoops, but not DVM messages.
10.3.3.1 Offset
Register Offset
Speculation_Control_ 4h
Register
10.3.3.2 Function
The Speculation Control register disables speculative fetches for a master interface or for
traffic through a specific slave interface. Speculative fetches are not issued if they are
disabled in either the slave or master interface for a particular transaction. Access
controlled by Secure Access Register, see Secure Access Register. Available in all
CCI-400 configurations.
10.3.3.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Disable_Speculative_Fetches_S
Reserved
Reset u u u u u u u u u u u 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Disable_Speculative_Fetches_M
Reserved
Reset u u u u u u u u u u u u u 0 0 0
10.3.3.4 Fields
Field Function
31-21 Reserved
—
20-16 Disable speculative fetches from slave
Disable_Specul Disable speculative fetches for transactions through a slave interface. One bit for each slave interface:
ative_Fetches_S S4, S3, S2, S1, and S0:
00000b - Enable speculative fetches.
00001b - Disable speculative fetches.
15-3 Reserved
—
Field Function
2-0 Disable speculative fetches from master
Disable_Specul Disable speculative fetches from a master interface. One bit for each master interface: M2, M1, and M0.
ative_Fetches_ 000b - Enable speculative fetches.
M 001b - Disable speculative fetches.
10.3.4.1 Offset
Register Offset
Secure_Access_Register 8h
10.3.4.2 Function
The Secure Access register controls secure access. You can only write to this register
using Secure transactions. Available in all CCI-400 configurations.
NOTE
This register enables Non-secure access to the CCI-400
registers for all masters. This compromises the security of your
system.
10.3.4.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset u u u u u u u u u u u u u u u u
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Secure_Access_Control
Reserved
Reset u u u u u u u u u u u u u u u 0
10.3.4.4 Fields
Field Function
31-1 Reserved
—
0 Secure Access Control
Secure_Access Non-secure register access override:
_Control 0b - Disable Non-secure access to CCI-400 registers.
1b - Enable Non-secure access to CCI-400 registers.
10.3.5.1 Offset
Register Offset
Status_Register Ch
10.3.5.2 Function
The Status Register safely enables and disables snooping. When changing the snoop or
DVM message enables using the Snoop Control Registers, see Snoop Control Registers,
there is a delay until the changes are registered in all parts of the CCI-400. The
change_pending bit in the Status Register indicates whether there are any changes to the
enables that have not yet been applied, or whether a slave interface has been disabled for
future snoop and DVM messages, but has outstanding AC requests. There are no usage
constraints. Available in all CCI-400 configurations.
NOTE
After writing to the snoop or DVM enable bits, the controller
must wait for the register write to complete, then test that the
change_pending bit is LOW before it turns an attached device
on or off.
10.3.5.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset u u u u u u u u u u u u u u u u
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCI_Status
Reserved
W
Reset u u u u u u u u u u u u u u u 0
10.3.5.4 Fields
Field Function
31-1 Reserved
—
0 CCI_Status
CCI_Status Indicates whether any changes to the snoop or DVM enables is pending in the CCI-400
0b - No change pending.
1b - Change pending.
10.3.6.1 Offset
Register Offset
Imprecise_Error_Register 10h
10.3.6.2 Function
The Imprecise Error register records the CCI-400 interfaces that received an error that is
not signaled precisely. The appropriate bit is set, with respect to the interface on which
the error was received. Bits are set when one or more error responses are detected, and
they are reset on a write of 1 to the corresponding bit. Accessible using only Secure
accesses, unless you set the Secure Access Register. See Secure Access Register bit
assignments. There are no usage constraints. Available in all CCI-400 configurations.
NOTE
If any of the imprecise error indicator bits are set, the
nERRORIRQ signal is asserted, active LOW.
10.3.6.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Imp_Err_S4
Imp_Err_S3
Imp_Err_S2
Imp_Err_S1
Imp_Err_S0
Reserved
Reset u u u u u u u u u u u 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Imp_Err_M2
Imp_Err_M1
Imp_Err_M0
Reserved
Reset u u u u u u u u u u u u u 0 0 0
10.3.6.4 Fields
Field Function
31-21 Reserved
—
20 Imprecise error indicator for slave interface S4
Imp_Err_S4
19 Imprecise error indicator for slave interface S3
Imp_Err_S3
18 Imprecise error indicator for slave interface S2
Imp_Err_S2
17 Imprecise error indicator for slave interface S1
Imp_Err_S1
16 Imprecise error indicator for slave interface S0
Imp_Err_S0
15-3 Reserved.
—
2 Imprecise error indicator for master interface M2
Imp_Err_M2
1 Imprecise error indicator for master interface M1
Imp_Err_M1
0 Imprecise error indicator for master interface M0
0b - No error from the time this bit was last reset.
Imp_Err_M0
1b - An error response has been received, but not signalled precisely.
10.3.7.1 Offset
For a = 0 to 4:
Register Offset
Snoop_Control_Register 1000h + (a × 1000h)
_Sa
10.3.7.2 Function
The Snoop Control register controls the issuing of snoop and DVM requests on each
slave interface. You can read the register to determine if the interface supports snoops or
DVM messages. Enabling snoop or DVM requests on an interface that does not support
them has no effect. One Snoop Control Register exists for each slave interface.
Accessible using only Secure accesses, unless you set the Secure Access Register. See
Secure Access Register bit assignments. Available in all CCI-400 configurations.
NOTE
• If the ACCHANNELEN input is LOW for this interface,
write accesses to this register are ignored and snoop or
DVM requests cannot be enabled.
• If snoops are disabled in the Control Override Register,
write accesses to the snoop enable bit[0] are ignored.
• If DVM messages are disabled in the Control Override
Register, write accesses to the DVM enable bit[1] are
ignored.
10.3.7.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Support_snoops
Support_DVMs
Reserved
W
Reset 0 0 u u u u u u u u u u u u u u
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Enable_Snoop
Enable_DVMs
Reserved
Reset u u u u u u u u u u u u u u 0 u
10.3.7.4 Fields
Field Function
31 Slave interface supports DVM messages
Support_DVMs This is overridden to 0x0 if you set the Control Override Register [1]. See Control Override Register.
30 Slave interface supports snoops
Support_snoops This is overridden to 0x0 if you set the Control Override Register [0]. See Control Override Register.
29-2 Reserved
—
1 Enable DVMs
Enable_DVMs Enable issuing of DVM message requests from slave interface. RAZ/WI for interfaces not supporting
DVM messages:
0b - Disable DVM message requests.
1b - Enable DVM message requests.
0 Enable Snoop
Enable_Snoop Enable issuing of snoop requests from this slave interface. RAZ/WI for interfaces not supporting snoops:
0b - Disable snoop requests.
1b - Enable snoop requests.
10.3.8.1 Offset
For a = 0 to 4:
Register Offset
Shareable_Override_Reg 1004h + (a × 1000h)
ister_Sa
10.3.8.2 Function
The Shareable Override register overrides shareability of normal transactions through this
interface. The following transaction types are unaffected by any override:
• FIXED-type bursts.
• Device transactions.
• Barrier.
• DVM message transactions.
Usage constraints This register is for ACE-Lite slave interfaces only. See the AMBA
AXI and ACE Protocol Specification. Accessible using only Secure accesses, unless you
set the Secure Access Register. See Secure Access Register bit assignments. Available in
all CCI-400 configurations.
NOTE
Exclusive accesses must not be issued on an interface that is
being overridden as shareable. If the CCI-400 is programmed to
override transactions as shareable, Exclusive accesses are
overridden to normal accesses. An exclusive write then receives
an OKAY response to indicate that the slave does not support
exclusive accesses.
10.3.8.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset u u u u u u u u u u u u u u u u
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AxDomain_Override
Reserved
Reset u u u u u u u u u u u u u u 0 0
10.3.8.4 Fields
Field Function
31-2 Reserved
—
1-0 AxDOMAIN override
Field Function
AxDomain_Over Shareable override for slave interface
ride 00b - Do not override AxDOMAIN inputs.
01b - Do not override AxDOMAIN inputs.
10b - Override AxDOMAIN inputs to 0b00, all transactions are treated as non-shareable.ReadOnce
becomes ReadNoSnoop.WriteUnique and WriteLineUnique become WriteNoSnoop.
11b - Override AxDOMAIN inputs to 0b01, normal transactions are treated as
shareable.ReadNoSnoop becomes ReadOnce.WriteNoSnoop becomes WriteUnique.
10.3.9.1 Offset
For a = 0 to 4:
Register Offset
Read_Qos_Override_Re 1100h + (a × 1000h)
gister_Sa
10.3.9.2 Function
The Read Channel QoS Value Override register contains override values for ARQOS,
with a register for each slave interface. This value is used if you set the
QOSOVERRIDE[4:0] input signal bit for this slave interface and the QoS value regulator
is not enabled. You can also use this register to read the current value of the QoS value
regulator for read accesses when the regulator is enabled. Accessible using only Secure
accesses, unless you set the Secure Access Register. See Secure Access Register bit
assignments. Available in all CCI-400 configurations.
10.3.9.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset u u u u u u u u u u u u u u u u
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARQOS_override_readback
ARQOS_value
Reserved
Reserved
R
W
Reset u u u u 0 0 0 0 u u u u 0 0 0 0
10.3.9.4 Fields
Field Function
31-12 Reserved
—
11-8 ARQOS override readback
ARQOS_overrid Reads what value is currently applied to transactions with ARQOS=0, provided QOSOVERRIDE is HIGH
e_readback and the QoS value regulator is enabled.
7-4 Reserved
—
3-0 ARQOS value
ARQOS_value ARQOS value override for slave interface
10.3.10.1 Offset
For a = 0 to 4:
Register Offset
Write_Qos_Override_Re 1104h + (a × 1000h)
gister_Sa
10.3.10.2 Function
The Write Channel QoS Value Override Register characteristics are: Purpose Contains
override values for AWQOS, with a register for each slave interface. This value is used if
you set the QOSOVERRIDE[4:0] input signal bit for this slave interface and the QoS
value regulator is not enabled. You can also read the current value of the QoS value
regulator for write accesses when the regulator is enabled. Accessible using only Secure
accesses, unless you set the Secure Access Register. See Secure Access Register bit
assignments. Available in all CCI-400 configurations.
10.3.10.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset u u u u u u u u u u u u u u u u
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AWQOS_override_readback
AWQOS_value
Reserved
Reserved
W
Reset u u u u 0 0 0 0 u u u u 0 0 0 0
10.3.10.4 Fields
Field Function
31-12 Reserved.
—
11-8 AWQOS override readback
AWQOS_overrid Reads what value is currently applied to transactions with AWQOS=0, provided QOSOVERRIDE is HIGH
e_readback and the QoS value regulator is enabled.
7-4 Reserved.
—
3-0 AWQOS value
AWQOS_value AWQOS value override for slave interface S0
10.3.11.1 Offset
For a = 0 to 4:
Register Offset
Qos_Control_Register_S 110Ch + (a × 1000h)
a
10.3.11.2 Function
The QoS Control register controls the regulators that are enabled on the slave interfaces.
Accessible using only Secure accesses, unless you set the Secure Access Register. See
Secure Access Register bit assignments on page 3-10. Available in all CCI-400
configurations.
NOTE
When outstanding transaction regulation is enabled or disabled
for an interface, changes take effect only when there are no
outstanding transactions in that interface.
10.3.11.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
QoS_regulation_disabled
Bandwidth_regulation_mode
AWQOS_regulation_mode
ARQOS_regulation_mode
Reserved
Reserved
R
W
Reset 0 u u u u u u u u u 0 0 u u u 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARQOS_regulation_read
AWQOS_regulation_write
AW_OT_regulation
AR_OT_regulation
Reserved
Reset u u u u u u u u u u u u 0 0 0 0
10.3.11.4 Fields
Field Function
31 QoS regulation disabled
QoS_regulation Determines whether this CCI-400 implementation supports QoS regulation.
_disabled 0b - QoS regulation fully supported as described in this document. See Quality of Service.
1b - QoS regulation not supported, reads and writes to this register have no effect.
30-22 Reserved
—
21 Bandwidth regulation mode
Bandwidth_regul Sets the mode for bandwidth regulation:
ation_mode 0b - Normal mode. The QoS value is stable when the master is idle.
1b - Quiesce High mode. The QoS value tends to the maximum when the master is idle.
20 ARQOS regulation mode
Configures the mode of the QoS value regulator for read transactions:
Table continues on the next page...
Field Function
ARQOS_regulati 0b - Latency mode.
on_mode 1b - Period mode, for bandwidth regulation.
19-17 Reserved
—
16 AWQOS_regulation_mode
AWQOS_regulat Configures the mode of the QoS value regulator for write transactions:
ion_mode 0b - Latency mode.
1b - Period mode, for bandwidth regulation.
15-4 Reserved
—
3 AR_OT_regulation
AR_OT_regulati Enable regulation of outstanding read transactions for slave interfaces
on
• ACE-Lite interfaces only, for example S0, S1, and S2.
• RAZ/WI for ACE interfaces, for example S3 and S4.
2 AW_OT_regulation
AW_OT_regulati Enable regulation of outstanding write transactions for slave interfaces
on
• ACE-Lite interfaces only, for example S0, S1, and S2.
• RAZ/WI for ACE interfaces, for example S3 and S4.
1 ARQOS regulation read
ARQOS_regulati Enable QoS value regulation on reads for slave interfaces
on_read
0 AWQOS regulation write
AWQOS_regulat Enable QoS value regulation on writes for slave interfaces
ion_write
10.3.12.1 Offset
For a = 0 to 4:
Register Offset
Max_OT_Register_Sa 1110h + (a × 1000h)
10.3.12.2 Function
The Max OT registers determine how many outstanding transactions are permitted when
the OT regulator is enabled for each ACE-Lite slave interface. One register exists for
each of the S0, S1, and S2 slave interfaces. A value of 0 for both the integer and
fractional parts disables the programmable regulation so that the hardware limits apply. A
value of 0 for the fractional part disables the regulation of fractional outstanding
transactions. If int is the value of the integer part and frac is the value of the fractional
part, then: Maximum mean number of outstanding transactions = int + frac/256.
Setting the maximum outstanding transaction size greater than that configured in the
RTL, using the R_MAX or W_MAX parameters, has no effect. Accessible using only
Secure accesses, unless you set the Secure Access Register. See Secure Access Register
bit assignments.
Available in all CCI-400 configurations.
10.3.12.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Frac_OT_AR
Int_OT_AR
Reserved
Reset u u 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Frac_OT_AW
Int_OT_AW
Reserved
Reset u u 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10.3.12.4 Fields
Field Function
31-30 Reserved
—
29-24 Int_OT_AR
Table continues on the next page...
Field Function
Int_OT_AR Integer part of the maximum outstanding AR addresses S0
23-16 Frac_OT_AR
Frac_OT_AR Fractional part of the maximum outstanding AR addresses S0
15-14 Reserved
—
13-8 Int_OT_AW
Int_OT_AW Integer part of the maximum outstanding AW addresses S0
7-0 Frac_OT_AW
Frac_OT_AW Fractional part of the maximum outstanding AW addresses S0
10.3.13.1 Offset
For a = 0 to 4:
Register Offset
Target_Latency_Register 1130h + (a × 1000h)
_Sa
10.3.13.2 Function
The Regulator Target registers determines the target, in cycles, for the regulation of reads
and writes. The target is either transaction latency or inter-transaction period, depending
on the programming of the QoS Control Register. A value of 0 corresponds to no
regulation. One register exists for each slave interface.
Accessible using only Secure accesses, unless you set the Secure Access Register. See
Secure Access Register bit assignments.
Only has an effect when QOSOVERRIDE is HIGH for the associated interface.
10.3.13.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved AR_Lat
W
Reset u u u u 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Reserved AW_Lat
W
Reset u u u u 0 0 0 0 0 0 0 0 0 0 0 0
10.3.13.4 Fields
Field Function
31-28 Reserved
—
27-16 AR channel target latency
AR_Lat
15-12 Reserved
—
11-0 AW channel target latency
AW_Lat
10.3.14.1 Offset
For a = 0 to 4:
Register Offset
Qos_Range_Register_Sa 1138h + (a × 1000h)
10.3.14.2 Function
The QoS Range register enables you to program the minimum and maximum values for
the ARQOS and AWQOS signals that the QV regulators generate. One register exists for
each slave interface.
Accessible using only Secure accesses, unless you set the Secure Access Register. See
Secure Access Register bit assignments.
Only has an effect when QOSOVERRIDE is HIGH for the associated interface.
10.3.14.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved Max_ARQOS Reserved Min_ARQOS
W
Reset u u u u 0 0 0 0 u u u u 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Reserved Max_AWQOS Reserved Min_AWQOS
W
Reset u u u u 0 0 0 0 u u u u 0 0 0 0
10.3.14.4 Fields
Field Function
31-28 Reserved
—
27-24 Maximum ARQOS value
Max_ARQOS
23-20 Reserved
—
19-16 Minimum ARQOS value
Min_ARQOS
15-12 Reserved
—
11-8 Maximum AWQOS value
Max_AWQOS
7-4 Reserved
Table continues on the next page...
Field Function
—
3-0 Minimum AWQOS value
Min_AWQOS
10.3.15.1 Offset
For a = 0 to 4:
Register Offset
Latency_Regulation_Regi 2268h + (a × 1000h)
ster_Sa
10.3.15.2 Function
The QoS Regulator Scale Factor Registers characteristics are: Purpose QoS regulation
value, AWQOS or ARQOS, scale factor coded for powers of 2 in the range 2–5-2–12, to
match a 16-bit integrator. One register exists for each slave interface.
Accessible using only Secure accesses, unless you set the Secure Access Register. See
Secure Access Register bit assignments.
Only has an effect when QOSOVERRIDE is HIGH for the associated interface.
The table here shows the mapping of Scale Factor Register value to the scale factor.
Table 10-4. Mapping of Scale Factor Register value to Regulator scale factor
Scale Factor Register value Scale factor
0x0 2–5
0x1 2–6
0x2 2–7
0x3 2–8
0x4 2–9
0x5 2–10
0x6 2–11
Table 10-4. Mapping of Scale Factor Register value to Regulator scale factor (continued)
0x7 2–12
10.3.15.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset u u u u u u u u u u u u u u u u
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AW_Scale_Fact
AR_Scale_Fact
Reserved
Reserved
W
Reset u u u u u 0 0 0 u u u u u 0 0 0
10.3.15.4 Fields
Field Function
31-11 Reserved
—
10-8 ARQOS Scale Factor
AR_Scale_Fact ARQOS scale factor, power of 2 in the range 2–5-2–12.
7-3 Reserved
—
2-0 AWQOS Scale Factor
AW_Scale_Fact AWQOS scale factor, power of 2 in the range 2–5-2–12.
11.1 Introduction
This chapter introduces the CoreLink TrustZone Address Space Controller (TZC-380).
11.1.1 Overview
TZASC-380
Core
Address
DDR controller
CCI-400 Region Control
Other
initiators
MUX
csu_sa1[2-3]
11.1.1.1 Features
Asserting secure_boot_lock enhances the security of the TZASC. See Preventing writes
to registers and using secure_boot_lock.
You can program the TZASC to assert tzasc_int when it denies an AXI master access to a
region. See Denied AXI transactions.
The TZASC performs security checks on AXI accesses to memory and DDR memory
space. This supports configurable number of regions. Each region is programmable for
size, base address, enable, and security parameters. Using the secure_boot_lock, the
programmers view can be locked to prevent erroneous writes. See Preventing writes to
registers and using secure_boot_lock. The TZASC provides programmability in reporting
faults using AXI response channel and interrupt.
Memory
AXI TZC-380 AXI SDRAM
controller
AXI
AXI Interconnect
master
AXI to APB
AXI bridge APB
NOTE
The CoreLink TrustZone Address Space Controller (TZC-380)
Supplement to AMBA Designer (ADR-301) User Guide
provides information about how to configure the controller.
11.3.1.1 Regions
A region is a contiguous area of address space. The TZASC provides each region with a
programmable security permissions field. The security permissions value is used to
enable the TZASC to either accept or deny a transaction access to that region. The
transaction's secure vs non-secure attributes are used to determine the security settings of
that transaction.
The TZASC always provides two regions, region 0 and region 1, and you can configure it
to provide additional regions. With the exception of region 0, the TZASC enables you to
program the following operating parameters for each region:
• Region enable.
• Security permissions.
• Base address.
• Size. The minimum address size of a region is 32KB.
• Subregion disable. See Subregions.
NOTE
Region 0 is known as the background region because it
occupies the total memory space. You can program the security
permissions of region 0, but the following parameters are fixed:
• Base address:0x0
• Size:The AXI_ADDRESS_MSB configuration parameter
controls the address range of the TZASC, and therefore the
region size.
• Subregion disable:This feature is not available for region
0.
11.3.1.2 Priority
The priority of a region is fixed and is determined by the region number. Figure 11-4
shows how the priority of a region increases with the region number.
Region n–1
.
.
. Priority
Region 2 level
Region 1
Region 0
When a transaction is received, its address is checked for a match with all the configured
regions in turn. The order in which the regions are checked is determined by the priority
level, the highest priority level is first. The first region that matches the transaction
address match is used as the matching region. The matching regions security permission
determines whether the transaction is permitted.
11.3.1.3 Subregions
The TZASC divides each region into eight equal-sized, non-overlapping subregions.
Figure 11-5 shows the subregions for an example region that is programmed to occupy an
address span of 32KB.
0x7FFF
Subregion 7
0x6FFF
Subregion 6
0x5FFF
Subregion 5
0x4FFF
Region Subregion 4
that
0x3FFF
spans
32KB Subregion 3
0x2FFF
Subregion 2
0x1FFF
Subregion 1
0x0FFF
Subregion 0
With the exception of region 0, you can program the TZASC to disable any or all of the
eight subregions that comprise a region. When a subregion is disabled, the security
permissions for its address range are provided by the next highest priority region that
overlaps the address range.
Example configuration for subregion disable
Figure 11-6 shows an example configuration that supports four regions, where:
• region 2 and region 3 are partially overlapped
• region 1 and region 3 are partially overlapped
• region 0 is overlapped with all regions.
With some subregions of region 1, region 2, and region 3 are disabled, and the resulting
region permissions of the entire address space is shown in the Figure 11-6.
Priority
Region
Region 3 Region 2 Region 1 Region 0 permissions
AXI_ADDRESS_MSB
parameter controls
the size of region 0
sp2
Disabled sp0
sp3
Disabled sp2
sp3
Disabled sp0
Disabled
sp1
sp3
sp1
Disabled sp0
sp1
0x0
NOTE
In Figure 11-6
• all subregions are enabled unless otherwise stated
• spn represents the region permissions of region n .
The TZASC enables you to program the security access permissions for any region that it
is configured. A region is assigned a security permissions field, sp<n>, in its
region_attributes_<n> Register that enables you to have complete control of the
permissions for that region. See register descriptions.
Security inversion
There are two modes of operation for the region security permissions, with or without
security inversion.
By default, if you program a region to support non-secure accesses, the TZASC ensures
that region must also support secure accesses. For example, if you program the region
permissions for region 3 to be non-secure read only, the TZASC permits access to region
3 for secure reads and non-secure reads.
If you require that some regions are not accessible to masters in Secure state, but are
accessible in Non-secure state, then you must enable security inversion.
See Region security permissions and Security Inversion Register (security_inversion_en)
for more information.
Programming security permissions when security inversion is disabled
By default, security inversion is disabled and therefore the TZASC only permits you to
program certain combinations of security permissions. These combinations ensure that a
master in Secure state is not denied access to a region that is programmed to only accept
non-secure accesses. Table 11-1 shows the possible security permissions when security
inversion is disabled.
Table 11-1. Region security permissions when security inversion is disabled
sp<n> field controls if the TZASC permits access for the following AXI transactions
sp<n> field1 Secure read Secure write Non-secure read Non-secure write
b0000 No No No No
b0100 No Yes No No
Table 11-1. Region security permissions when security inversion is disabled (continued)
b0001, b0101 No Yes No Yes
b1000 Yes No No No
b0001 No No No Yes
b0010 No No Yes No
b0100 No Yes No No
b1000 Yes No No No
Table 11-3 shows a typical example of memory map along with the register
programming. The TZASC is configured to have 16 regions.
Table 11-3. Typical example of memory map along with the register programming
Region Region1 Lock Starting Region size Region size Sp2 Description
address
Table 11-3. Typical example of memory map along with the register programming
(continued)
Region_6 Enable Yes 0x3C00000 512KB b010010 1011 Non-secure
RW, Secure
RO for
streaming
from the
normal world
to the secure
world.
Table 11-3. Typical example of memory map along with the register programming
(continued)
Region_12 Enable Yes 0xF0000000 256MB b011011 0011 Non-secure
RW, Secure
NA for FLASH
holding
normal world
OS plus disk.
Region_14 Disable - - - - - -
Region_15 Disable - - - - - -
NOTE
The implementers system design, and security requirements are
taken into account for this example. And any actual software
programming must depend on the system where TZASC is
plugged.
By default, the TZASC performs read or write speculative accesses that means it
forwards an AXI transaction address to a slave, before it verifies that the AXI transaction
is permitted to read address or write address respectively.
The TZASC only permits the transfer of data between its AXI bus interfaces, after
verifying the access that the read or write access is permitted respectively. If the
verification fails, then it prevents the transfer of data between the master and slave as
Denied AXI transactions describes.
You can disable speculative accesses by programming the speculation_control Register.
See Speculation Control Register (speculation_control). When speculative accesses are
disabled, the TZASC verifies the permissions of the access before it forwards the access
to the slave. If the TZASC:
• Permits the access, it commences an AXI transaction to the slave, and it adds one
clock latency.
• Denies the access, it prevents the transfer of data between the master and slave as
Denied AXI transactions describes. In this situation, the slave is unaware when the
TZASC prevents the master from accessing the slave.
NOTE
Enabling speculative access is a potential security risk, if the
device that is being protected reacts to this transaction. Most
devices do not have to react to this level of access, and
speculative access is much faster than validating the address
before issuing the transaction.
If a master performs exclusive accesses to an address region, you must program the
TZASC to permit read and write accesses to that address region, for the expected settings
of secure and non-secure attributes, otherwise the read or write transaction might fail.
The TZASC has the following considerations relating to change in programmers view on
an active system:
• When changing the setting of a TZASC region,
• The current accepted AXI transaction, if it falls into that region, would act
according to the previous settings for that region.
• Any other outstanding AXI transactions, that falls into that region, would effect
by the new settings for that region.
• Given little ability to predict that the mentioned AXI transactions would effect, it is
obviously desirable that there are no outstanding AXI transactions when a regions
setting are changed.
• In simple systems this can potentially be achieved by the core not accessing the
given region during the period of the cores transition between security states.
Even in these cases, the status of cached data and instructions needs to be
considered.
• In more complicated systems the code that changes the TZASC region settings
must have to inform other AXI bus masters to desist or complete acting on that
region before performing the region setting changes. After having such an action
acknowledged the code must also have to instigate a suitable delay before then
acting.
An example of this can be an LCD controller dealing with a frame buffer that is
switching between a Normal world and Secure world use.
NOTE
There is no direct mechanism to ascertain if there are any
outstanding AXI transactions, and so the designer must use
their system knowledge to apply reasonable mechanisms.
It is recommended that any DECERR, or TZASC interrupt handler is designed to expect,
and potentially ignore events generated under these circumstances.
• Control : Use these registers to enable the TZASC to perform security inversion or
speculative accesses.
• Region control : Use these registers to control the operating state of each region.
• Integration test : Use these registers when testing the integration of the TZASC in a
System-on-Chip (SoC).
• Component configuration : These registers enable the identification of system
components by software.
11.4.2.1 Offset
Register Offset
configuration 0h
11.4.2.2 Function
The configuration Register provides information about the configuration of the TZASC.
There are no usage constraints. Available in all configurations of the TZASC.
11.4.2.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
address_width
no_of_regions
Reserved
Reserved
W
Reset 0 0 1 0 0 1 1 1 0 0 0 0 1 1 1 1
11.4.2.4 Fields
Field Function
31-14 Reserved, Should be Zero (SBZ).
—
13-8 address_width
address_width Returns the width of the AXI address bus. Read as:
Table continues on the next page...
Field Function
b000000-b011110 = reserved
b011111 = 32-bit
b100000 = 33-bit
b100001 = 34-bit
...
b111110 = 63-bit
b111111 = 64-bit.
7-4 Reserved, Should be Zero (SBZ).
—
3-0 no_of_regions
no_of_regions Returns the number of regions that the TZASC provides:
b0000 = reserved
b0001 = 2 regions
b0010 = 3 regions
b0011 = 4 regions
...
b1111 = 16 regions.
11.4.3.1 Offset
Register Offset
action 4h
11.4.3.2 Function
The action Register controls the response signaling behavior of the TZASC to region
permission failures. There are no usage constraints.Available in all configurations of the
TZASC.
11.4.3.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
reaction_value
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
11.4.3.4 Fields
Field Function
31-2 Reserved, Should be Zero (SBZ).
—
1-0 reaction_value
reaction_value Controls how the TZASC uses the bresps[1:0], rresps[1:0], and tzasc_int signals when a region
permission failure occurs:
b00 = sets tzasc_int LOW and issues an OKAY response
b01 = sets tzasc_int LOW and issues a DECERR response
b10 = sets tzasc_int HIGH and issues an OKAY response
b11 = sets tzasc_int HIGH and issues a DECERR response.
11.4.4.1 Offset
Register Offset
lockdown_range 8h
11.4.4.2 Function
The lockdown_range Register controls the range of regions that are locked down.The
lockdown_select Register can restrict the access type of this register to RO. Available in
all configurations of the TZASC.
11.4.4.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
enable
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
lockdown_regions
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.4.4 Fields
Field Function
31 enable
enable When set to 1, it enables the lockdown_regions field to control the regions that are to be locked.
30-4 Reserved, Should be Zero (SBZ).
—
3-0 lockdown_regions
lockdown_regio Controls the number of regions to lockdown when the enable bit is set to 1:
ns
b0000 = region no_of_regions–1 is locked
b0001 = region no_of_regions–1 to region no_of_regions–2 are locked
b0010 = region no_of_regions–1 to region no_of_regions–3 are locked
b0011 = region no_of_regions–1 to region no_of_regions–4 are locked
...
b1111 = region no_of_regions–1 to region no_of_regions–16 are locked.
Field Function
no_of_regions is the value of the no_of_regions field in the configuration Register. See Configuration
Register.
NOTE: The value programmed in lockdown_range Register must not be greater than no_of_regions-1
else all regions are locked.
11.4.5.1 Offset
Register Offset
lockdown_select Ch
11.4.5.2 Function
The lockdown_select Register controls whether the TZASC permits write accesses to the
following registers:
• Lockdown Range Register
• Speculation Control Register
• Security Inversion Enable Register
After aresetn goes HIGH, the TZASC only permits write access to this register, if
secure_boot_lock remains LOW. When secure_boot_lock is HIGH for one aclk period,
or more then the TZASC ignores writes to this register.
This register is available in all configurations of the TZASC.
11.4.5.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
acc_speculation_cntl
region_register
security_inv
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.5.4 Fields
Field Function
31-3 Reserved, Should be Zero (SBZ).
—
2 acc_speculation_cntl
acc_speculation Modifies the access type of the speculation_control Register:
_cntl
0 = no effect. speculation_control Register remains RW.
1 = speculation_control Register is RO.
See Speculation Control Register for more information.
1 security_inv
security_inv Modifies the access type of the security_inversion_en Register:
0 = no effect. security_inversion_en Register remains RW.
1 = security_inversion_en Register is RO.
See Security Inversion Enable Register for more information.
0 region_register
region_register Modifies the access type of the lockdown_range Register:
0 = no effect. lockdown_range Register remains RW.
1 = lockdown_range Register is RO.
See Lockdown Range Register for more information.
11.4.6.1 Offset
Register Offset
int_status 10h
11.4.6.2 Function
The int_status register characteristics are: Returns the status of the interrupt. There are no
usage constraints. Available in all configurations of the TZASC.
11.4.6.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
overrun
Reserved
status
R
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.6.4 Fields
Field Function
31-2 Reserved, Should be Zero (SBZ).
—
1 overrun
overrun When set to 1, it indicates the occurrence of two or more region permission failures since the interrupt
was last cleared
Field Function
0 status
status Returns the status of the interrupt:
0 = interrupt is inactive
1 = interrupt is active.
11.4.7.1 Offset
Register Offset
int_clear 14h
11.4.7.2 Function
The int_clear Register clears the interrupt. There are no usage constraints. Available in all
configurations of the TZASC.
11.4.7.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
W int_clear
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
W int_clear
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.7.4 Fields
Field Function
31-0 int_clear
int_clear Writing any value to the int_clear Register sets the:
• status bit to 0 in the int_status Register
• overrun bit to 0 in the int_status Register.
11.4.8.1 Offset
Register Offset
fail_address_low 20h
11.4.8.2 Function
The fail_address_low Register returns the address, the lower 32-bits, of the first access
that failed a region permission, after the interrupt was cleared. There are no usage
constraints. Available in all configurations of the TZASC.
11.4.8.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R add_status_low
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R add_status_low
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.8.4 Fields
Field Function
31-0 add_status_low
add_status_low Returns the AXI address bits [31:0] of the first access to fail a region permission check after the interrupt
was cleared.
11.4.9.1 Offset
Register Offset
fail_address_high 24h
11.4.9.2 Function
The fail_address_high Register returns the address, the upper 32-bits, of the first access
that failed a region permission, after the interrupt was cleared. There are no usage
constraints. Only available when the TZASC has an AXI address width of greater than 32
bits.
11.4.9.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R add_status_high
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R add_status_high
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.9.4 Fields
Field Function
31-0 add_status_high
add_status_high Returns the address bits [AXI_ADDRESS_MSB:32] of the first access to fail a region permission check
after the interrupt was cleared. The size of this bitfield varies as [n:0} where n = AXI_ADDRESS_MSB–
32..
11.4.10.1 Offset
Register Offset
fail_control 28h
11.4.10.2 Function
The fail_control Register returns the control status information of the first access that
failed a region permission, after the interrupt was cleared. There are no usage constraints.
Available in all configurations of the TZASC.
11.4.10.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
stky_write_reg
nonsecure
privileged
Reserved
Reserved
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.10.4 Fields
Field Function
31-25 Reserved, Should be Zero (SBZ).
—
24 stky_write_reg
stky_write_reg This bit indicates whether the first access to fail a region permission check was a write or read as:
0 = read access
1 = write access.
23-22 Reserved, Should be Zero (SBZ).
—
21 nonsecure
nonsecure After clearing the interrupt status, this bit indicates whether the first access to fail a region permission
check was non-secure. Read as:
0 = secure access
1 = non-secure access.
20 privileged
privileged After clearing the interrupt status, this bit indicates whether the first access to fail a region permission
check was privileged. Read as:
0 = unprivileged access
1 = privileged access.
19-0 Reserved, Should be Zero (SBZ).
—
11.4.11.1 Offset
Register Offset
fail_id 2Ch
11.4.11.2 Function
The fail_id Register returns the master AXI ID of the first access that failed a region
permission, after the interrupt was cleared. There are no usage constraints. Available in
all configurations of the TZASC.
11.4.11.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R fail_id
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.11.4 Fields
Field Function
31-12 Reserved, Should be Zero (SBZ).
—
11-0 fail_id
fail_id Returns the master AXI ID of the first access to fail a region permission check after the interrupt was
cleared. The size of this bit field is [n:0] where n = AID_WIDTH-1.
11.4.12.1 Offset
Register Offset
speculation_control 30h
11.4.12.2 Function
The speculation_control Register controls the read access speculation and write access
speculation. The lockdown_select Register can restrict the access type of this register to
RO. See Lockdown Select Register for more details. Available in all configurations of the
TZASC.
11.4.12.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
read_speculation
write_speculation
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.12.4 Fields
Field Function
31-2 Reserved, Should be Zero (SBZ).
—
1 write_speculation
write_speculatio Controls the write access speculation:
n
0 = write access speculation is enabled. This is the default.
1 = write access speculation is disabled.
0 read_speculation
read_speculatio Controls the read access speculation:
n
0 = read access speculation is enabled. This is the default.
1 = read access speculation is disabled.
11.4.13.1 Offset
Register Offset
security_inversion_en 34h
11.4.13.2 Function
The security_inversion_en Register controls whether the TZASC enables security
inversion to occur. Usage constraints The lockdown_select Register can restrict the
access type of this register to RO. See Lockdown Select Register for more details.
Available in all configurations of the TZASC.
11.4.13.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
security_inversion_en
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.13.4 Fields
Field Function
31-1 Reserved, Should be Zero (SBZ).
—
0 security_inversion_en
security_inversio Controls whether the TZASC permits security inversion to occur:
n_en
0 = security inversion is not permitted. This is the default.
1 = security inversion is permitted. This enables a region to be accessible to masters in Non-secure state
but not accessible to masters in Secure state.
11.4.14.1 Offset
Register Offset
region_setup_low_0 100h
11.4.14.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low0
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low0
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.14.3 Fields
Field Function
31-15 base_address_low0
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow0 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.15.1 Offset
Register Offset
region_setup_high_0 104h
11.4.15.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.15.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high0
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high0
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.15.4 Fields
Field Function
31-0 base_address_high0
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh0 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.16.1 Offset
Register Offset
region_attributes_0 108h
11.4.16.2 Function
The region_attributes_0 register controls the permissions for region 0. There are no usage
constraints. Available in all configurations of the TZASC.
11.4.16.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp0 Reserved
W
Reset 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.16.4 Fields
Field Function
31-28 sp0
sp0 Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-0 Reserved, Should be Zero (SBZ).
—
11.4.17.1 Offset
Register Offset
region_setup_low_1 110h
11.4.17.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low1
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low1
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.17.3 Fields
Field Function
31-15 base_address_low1
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow1 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.18.1 Offset
Register Offset
region_setup_high_1 114h
11.4.18.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.18.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high1
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high1
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.18.4 Fields
Field Function
31-0 base_address_high1
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh1 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.19.1 Offset
Register Offset
region_attributes_1 118h
11.4.19.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
Table 11-4. Region size
size<n> field Size of region <n> Base address [1] constraints
b000000-b001101 Reserved -
b001110 32KB -
b001111 64KB Bit [15] must be zero
b010000 128KB Bits [16:15] must be zero
b010001 256KB Bits [17:15] must be zero
b010010 512KB Bits [18:15] must be zero
b010011 1MB Bits [19:15] must be zero
b010100 2MB Bits [20:15] must be zero
b010101 4MB Bits [21:15] must be zero
b010110 8MB Bits [22:15] must be zero
b010111 16MB Bits [23:15] must be zero
b011000 32MB Bits [24:15] must be zero
b011001 64MB Bits [25:15] must be zero
b011010 128MB Bits [26:15] must be zero
b011011 256MB Bits [27:15] must be zero
b011100 512MB Bits [28:15] must be zero
b011101 1GB Bits [29:15] must be zero
b011110 2GB Bits [30:15] must be zero
b011111 4GB Bits [31:15] must be zero
b100000 8GB Bits [32:15] must be zero
b100001 16GB Bits [33:15] must be zero
b100010 32GB Bits [34:15] must be zero
b100011 64GB Bits [35:15] must be zero
11.4.19.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp1 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable1
Reserved
size1
en1
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.19.4 Fields
Field Function
31-28 sp1
sp1 Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable1
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le1 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size1
size1
Table continues on the next page...
Field Function
Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en1
en1 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.20.1 Offset
Register Offset
region_setup_low_2 120h
11.4.20.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low2
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low2
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.20.3 Fields
Field Function
31-15 base_address_low2
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow2 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.21.1 Offset
Register Offset
region_setup_high_2 124h
11.4.21.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.21.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high2
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high2
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.21.4 Fields
Field Function
31-0 base_address_high2
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh2 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.22.1 Offset
Register Offset
region_attributes_2 128h
11.4.22.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
11.4.22.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp2 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable2
Reserved
size2
en2
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.22.4 Fields
Field Function
31-28 sp2
sp2
Table continues on the next page...
Field Function
Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable2
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le2 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size2
size2 Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en2
en2 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.23.1 Offset
Register Offset
region_setup_low_3 130h
11.4.23.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low3
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low3
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.23.3 Fields
Field Function
31-15 base_address_low3
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow3 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.24.1 Offset
Register Offset
region_setup_high_3 134h
11.4.24.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.24.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high3
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high3
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.24.4 Fields
Field Function
31-0 base_address_high3
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh3 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.25.1 Offset
Register Offset
region_attributes_3 138h
11.4.25.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
Table 11-6. Region size
size<n> field Size of region <n> Base address [1] constraints
b000000-b001101 Reserved -
b001110 32KB -
b001111 64KB Bit [15] must be zero
b010000 128KB Bits [16:15] must be zero
b010001 256KB Bits [17:15] must be zero
b010010 512KB Bits [18:15] must be zero
b010011 1MB Bits [19:15] must be zero
b010100 2MB Bits [20:15] must be zero
b010101 4MB Bits [21:15] must be zero
b010110 8MB Bits [22:15] must be zero
b010111 16MB Bits [23:15] must be zero
b011000 32MB Bits [24:15] must be zero
b011001 64MB Bits [25:15] must be zero
b011010 128MB Bits [26:15] must be zero
b011011 256MB Bits [27:15] must be zero
b011100 512MB Bits [28:15] must be zero
b011101 1GB Bits [29:15] must be zero
b011110 2GB Bits [30:15] must be zero
b011111 4GB Bits [31:15] must be zero
b100000 8GB Bits [32:15] must be zero
b100001 16GB Bits [33:15] must be zero
b100010 32GB Bits [34:15] must be zero
b100011 64GB Bits [35:15] must be zero
11.4.25.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp3 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable3
Reserved
size3
en3
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.25.4 Fields
Field Function
31-28 sp3
sp3 Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable3
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le3 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size3
size3
Table continues on the next page...
Field Function
Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en3
en3 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.26.1 Offset
Register Offset
region_setup_low_4 140h
11.4.26.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low4
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low4
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.26.3 Fields
Field Function
31-15 base_address_low4
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow4 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.27.1 Offset
Register Offset
region_setup_high_4 144h
11.4.27.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.27.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high4
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high4
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.27.4 Fields
Field Function
31-0 base_address_high4
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh4 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.28.1 Offset
Register Offset
region_attributes_4 148h
11.4.28.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
11.4.28.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp4 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable4
Reserved
size4
en4
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.28.4 Fields
Field Function
31-28 sp4
sp4
Table continues on the next page...
Field Function
Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable4
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le4 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size4
size4 Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en4
en4 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.29.1 Offset
Register Offset
region_setup_low_5 150h
11.4.29.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low5
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low5
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.29.3 Fields
Field Function
31-15 base_address_low5
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow5 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.30.1 Offset
Register Offset
region_setup_high_5 154h
11.4.30.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.30.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high5
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high5
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.30.4 Fields
Field Function
31-0 base_address_high5
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh5 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.31.1 Offset
Register Offset
region_attributes_5 158h
11.4.31.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
Table 11-8. Region size
size<n> field Size of region <n> Base address [1] constraints
b000000-b001101 Reserved -
b001110 32KB -
b001111 64KB Bit [15] must be zero
b010000 128KB Bits [16:15] must be zero
b010001 256KB Bits [17:15] must be zero
b010010 512KB Bits [18:15] must be zero
b010011 1MB Bits [19:15] must be zero
b010100 2MB Bits [20:15] must be zero
b010101 4MB Bits [21:15] must be zero
b010110 8MB Bits [22:15] must be zero
b010111 16MB Bits [23:15] must be zero
b011000 32MB Bits [24:15] must be zero
b011001 64MB Bits [25:15] must be zero
b011010 128MB Bits [26:15] must be zero
b011011 256MB Bits [27:15] must be zero
b011100 512MB Bits [28:15] must be zero
b011101 1GB Bits [29:15] must be zero
b011110 2GB Bits [30:15] must be zero
b011111 4GB Bits [31:15] must be zero
b100000 8GB Bits [32:15] must be zero
b100001 16GB Bits [33:15] must be zero
b100010 32GB Bits [34:15] must be zero
b100011 64GB Bits [35:15] must be zero
11.4.31.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp5 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable5
Reserved
size5
en5
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.31.4 Fields
Field Function
31-28 sp5
sp5 Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable5
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le5 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size5
size5
Table continues on the next page...
Field Function
Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en5
en5 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.32.1 Offset
Register Offset
region_setup_low_6 160h
11.4.32.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low6
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low6
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.32.3 Fields
Field Function
31-15 base_address_low6
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow6 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.33.1 Offset
Register Offset
region_setup_high_6 164h
11.4.33.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.33.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high6
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high6
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.33.4 Fields
Field Function
31-0 base_address_high6
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh6 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.34.1 Offset
Register Offset
region_attributes_6 168h
11.4.34.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
11.4.34.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp6 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable6
Reserved
size6
en6
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.34.4 Fields
Field Function
31-28 sp6
sp6
Table continues on the next page...
Field Function
Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable6
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le6 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size6
size6 Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en6
en6 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.35.1 Offset
Register Offset
region_setup_low_7 170h
11.4.35.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low7
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low7
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.35.3 Fields
Field Function
31-15 base_address_low7
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow7 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.36.1 Offset
Register Offset
region_setup_high_7 174h
11.4.36.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.36.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high7
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high7
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.36.4 Fields
Field Function
31-0 base_address_high7
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh7 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.37.1 Offset
Register Offset
region_attributes_7 178h
11.4.37.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
Table 11-10. Region size
size<n> field Size of region <n> Base address [1] constraints
b000000-b001101 Reserved -
b001110 32KB -
b001111 64KB Bit [15] must be zero
b010000 128KB Bits [16:15] must be zero
b010001 256KB Bits [17:15] must be zero
b010010 512KB Bits [18:15] must be zero
b010011 1MB Bits [19:15] must be zero
b010100 2MB Bits [20:15] must be zero
b010101 4MB Bits [21:15] must be zero
b010110 8MB Bits [22:15] must be zero
b010111 16MB Bits [23:15] must be zero
b011000 32MB Bits [24:15] must be zero
b011001 64MB Bits [25:15] must be zero
b011010 128MB Bits [26:15] must be zero
b011011 256MB Bits [27:15] must be zero
b011100 512MB Bits [28:15] must be zero
b011101 1GB Bits [29:15] must be zero
b011110 2GB Bits [30:15] must be zero
b011111 4GB Bits [31:15] must be zero
b100000 8GB Bits [32:15] must be zero
b100001 16GB Bits [33:15] must be zero
b100010 32GB Bits [34:15] must be zero
b100011 64GB Bits [35:15] must be zero
11.4.37.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp7 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable7
Reserved
size7
en7
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.37.4 Fields
Field Function
31-28 sp7
sp7 Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable7
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le7 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size7
size7
Table continues on the next page...
Field Function
Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en7
en7 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.38.1 Offset
Register Offset
region_setup_low_8 180h
11.4.38.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low8
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low8
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.38.3 Fields
Field Function
31-15 base_address_low8
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow8 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.39.1 Offset
Register Offset
region_setup_high_8 184h
11.4.39.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.39.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high8
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high8
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.39.4 Fields
Field Function
31-0 base_address_high8
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh8 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.40.1 Offset
Register Offset
region_attributes_8 188h
11.4.40.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
11.4.40.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp8 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable8
Reserved
size8
en8
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.40.4 Fields
Field Function
31-28 sp8
sp8
Table continues on the next page...
Field Function
Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable8
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le8 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size8
size8 Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en8
en8 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.41.1 Offset
Register Offset
region_setup_low_9 190h
11.4.41.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low9
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low9
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.41.3 Fields
Field Function
31-15 base_address_low9
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow9 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.42.1 Offset
Register Offset
region_setup_high_9 194h
11.4.42.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.42.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high9
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high9
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.42.4 Fields
Field Function
31-0 base_address_high9
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh9 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.43.1 Offset
Register Offset
region_attributes_9 198h
11.4.43.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
Table 11-12. Region size
size<n> field Size of region <n> Base address [1] constraints
b000000-b001101 Reserved -
b001110 32KB -
b001111 64KB Bit [15] must be zero
b010000 128KB Bits [16:15] must be zero
b010001 256KB Bits [17:15] must be zero
b010010 512KB Bits [18:15] must be zero
b010011 1MB Bits [19:15] must be zero
b010100 2MB Bits [20:15] must be zero
b010101 4MB Bits [21:15] must be zero
b010110 8MB Bits [22:15] must be zero
b010111 16MB Bits [23:15] must be zero
b011000 32MB Bits [24:15] must be zero
b011001 64MB Bits [25:15] must be zero
b011010 128MB Bits [26:15] must be zero
b011011 256MB Bits [27:15] must be zero
b011100 512MB Bits [28:15] must be zero
b011101 1GB Bits [29:15] must be zero
b011110 2GB Bits [30:15] must be zero
b011111 4GB Bits [31:15] must be zero
b100000 8GB Bits [32:15] must be zero
b100001 16GB Bits [33:15] must be zero
b100010 32GB Bits [34:15] must be zero
b100011 64GB Bits [35:15] must be zero
11.4.43.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp9 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable9
Reserved
size9
en9
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.43.4 Fields
Field Function
31-28 sp9
sp9 Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable9
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le9 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size9
size9
Table continues on the next page...
Field Function
Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en9
en9 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.44.1 Offset
Register Offset
region_setup_low_10 1A0h
11.4.44.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low10
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low10
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.44.3 Fields
Field Function
31-15 base_address_low10
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow10 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.45.1 Offset
Register Offset
region_setup_high_10 1A4h
11.4.45.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.45.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high10
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high10
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.45.4 Fields
Field Function
31-0 base_address_high10
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh10 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.46.1 Offset
Register Offset
region_attributes_10 1A8h
11.4.46.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
11.4.46.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp10 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable10
Reserved
size10
en10
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.46.4 Fields
Field Function
31-28 sp10
sp10
Table continues on the next page...
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
480 NXP Semiconductors
Chapter 11 Arm CoreLink™ TrustZone Address Space Controller TZC-380
Field Function
Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable10
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le10 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size10
size10 Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en10
en10 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.47.1 Offset
Register Offset
region_setup_low_11 1B0h
11.4.47.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low11
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low11
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.47.3 Fields
Field Function
31-15 base_address_low11
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow11 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.48.1 Offset
Register Offset
region_setup_high_11 1B4h
11.4.48.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.48.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high11
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high11
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.48.4 Fields
Field Function
31-0 base_address_high11
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh11 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.49.1 Offset
Register Offset
region_attributes_11 1B8h
11.4.49.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
Table 11-14. Region size
size<n> field Size of region <n> Base address [1] constraints
b000000-b001101 Reserved -
b001110 32KB -
b001111 64KB Bit [15] must be zero
b010000 128KB Bits [16:15] must be zero
b010001 256KB Bits [17:15] must be zero
b010010 512KB Bits [18:15] must be zero
b010011 1MB Bits [19:15] must be zero
b010100 2MB Bits [20:15] must be zero
b010101 4MB Bits [21:15] must be zero
b010110 8MB Bits [22:15] must be zero
b010111 16MB Bits [23:15] must be zero
b011000 32MB Bits [24:15] must be zero
b011001 64MB Bits [25:15] must be zero
b011010 128MB Bits [26:15] must be zero
b011011 256MB Bits [27:15] must be zero
b011100 512MB Bits [28:15] must be zero
b011101 1GB Bits [29:15] must be zero
b011110 2GB Bits [30:15] must be zero
b011111 4GB Bits [31:15] must be zero
b100000 8GB Bits [32:15] must be zero
b100001 16GB Bits [33:15] must be zero
b100010 32GB Bits [34:15] must be zero
b100011 64GB Bits [35:15] must be zero
11.4.49.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp11 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable11
Reserved
size11
en11
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.49.4 Fields
Field Function
31-28 sp11
sp11 Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable11
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le11 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size11
Table continues on the next page...
Field Function
size11 Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en11
en11 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.50.1 Offset
Register Offset
region_setup_low_12 1C0h
11.4.50.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low12
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low12
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.50.3 Fields
Field Function
31-15 base_address_low12
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow12 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.51.1 Offset
Register Offset
region_setup_high_12 1C4h
11.4.51.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.51.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high12
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high12
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.51.4 Fields
Field Function
31-0 base_address_high12
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh12 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.52.1 Offset
Register Offset
region_attributes_12 1C8h
11.4.52.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
11.4.52.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp12 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable12
Reserved
size12
en12
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.52.4 Fields
Field Function
31-28 sp12
sp12
Table continues on the next page...
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
NXP Semiconductors 491
register descriptions
Field Function
Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable12
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le12 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size12
size12 Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en12
en12 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.53.1 Offset
Register Offset
region_setup_low_13 1D0h
11.4.53.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low13
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low13
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.53.3 Fields
Field Function
31-15 base_address_low13
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow13 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.54.1 Offset
Register Offset
region_setup_high_13 1D4h
11.4.54.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.54.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high13
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high13
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.54.4 Fields
Field Function
31-0 base_address_high13
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh13 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.55.1 Offset
Register Offset
region_attributes_13 1D8h
11.4.55.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
Table 11-16. Region size
size<n> field Size of region <n> Base address [1] constraints
b000000-b001101 Reserved -
b001110 32KB -
b001111 64KB Bit [15] must be zero
b010000 128KB Bits [16:15] must be zero
b010001 256KB Bits [17:15] must be zero
b010010 512KB Bits [18:15] must be zero
b010011 1MB Bits [19:15] must be zero
b010100 2MB Bits [20:15] must be zero
b010101 4MB Bits [21:15] must be zero
b010110 8MB Bits [22:15] must be zero
b010111 16MB Bits [23:15] must be zero
b011000 32MB Bits [24:15] must be zero
b011001 64MB Bits [25:15] must be zero
b011010 128MB Bits [26:15] must be zero
b011011 256MB Bits [27:15] must be zero
b011100 512MB Bits [28:15] must be zero
b011101 1GB Bits [29:15] must be zero
b011110 2GB Bits [30:15] must be zero
b011111 4GB Bits [31:15] must be zero
b100000 8GB Bits [32:15] must be zero
b100001 16GB Bits [33:15] must be zero
b100010 32GB Bits [34:15] must be zero
b100011 64GB Bits [35:15] must be zero
11.4.55.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp13 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable13
Reserved
size13
en13
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.55.4 Fields
Field Function
31-28 sp13
sp13 Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable13
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le13 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size13
Table continues on the next page...
Field Function
size13 Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en13
en13 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.56.1 Offset
Register Offset
region_setup_low_14 1E0h
11.4.56.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low14
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low14
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.56.3 Fields
Field Function
31-15 base_address_low14
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow14 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.57.1 Offset
Register Offset
region_setup_high_14 1E4h
11.4.57.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.57.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high14
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high14
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.57.4 Fields
Field Function
31-0 base_address_high14
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh14 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.58.1 Offset
Register Offset
region_attributes_14 1E8h
11.4.58.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
11.4.58.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp14 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable14
Reserved
size14
en14
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.58.4 Fields
Field Function
31-28 sp14
sp14
Table continues on the next page...
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
502 NXP Semiconductors
Chapter 11 Arm CoreLink™ TrustZone Address Space Controller TZC-380
Field Function
Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable14
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le14 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size14
size14 Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en14
en14 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.59.1 Offset
Register Offset
region_setup_low_15 1F0h
11.4.59.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_low15
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
base_address_low15
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.59.3 Fields
Field Function
31-15 base_address_low15
base_address_l Controls the base address [31:15] of region n. For region 0, this field is Read Only (RO). The TZASC sets
ow15 the base address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. For example,
if the size of a region is 512MB, and it is not at address 0x0, the only valid settings for this field are:
b00100000000000000
b01000000000000000
b01100000000000000
b10000000000000000
b10100000000000000
b11000000000000000
b11100000000000000
If you attempt to set an inappropriate base address for the size of the region, the TZASC ignores certain
bits depending on the region size. See Table on register size for more information.
14-0 Reserved, Should be Zero (SBZ).
—
11.4.60.1 Offset
Register Offset
region_setup_high_15 1F4h
11.4.60.2 Function
The region_setup_high register is none for region 0, for other regions it controls the base
address [63:32] of region n.There are no usage constraints. Available in all configurations
of the TZASC.
11.4.60.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R base_address_high15
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R base_address_high15
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.60.4 Fields
Field Function
31-0 base_address_high15
base_address_h Controls the base address [63:32] of region n. For region 0, this field is RO. The TZASC sets the base
igh15 address of region 0 to 0x0.
The TZASC only permits a region to start at address 0x0, or at a multiple of its region size. If you program
a region size to be 8GB or more, then the TZASC might ignore certain bits depending on the region size.
11.4.61.1 Offset
Register Offset
region_attributes_15 1F8h
11.4.61.2 Function
The region_attributes_n register controls the permissions, region size, subregion disable,
and region enable. There are no usage constraints. Available in all configurations of the
TZASC.
Table 11-18. Region size
size<n> field Size of region <n> Base address [1] constraints
b000000-b001101 Reserved -
b001110 32KB -
b001111 64KB Bit [15] must be zero
b010000 128KB Bits [16:15] must be zero
b010001 256KB Bits [17:15] must be zero
b010010 512KB Bits [18:15] must be zero
b010011 1MB Bits [19:15] must be zero
b010100 2MB Bits [20:15] must be zero
b010101 4MB Bits [21:15] must be zero
b010110 8MB Bits [22:15] must be zero
b010111 16MB Bits [23:15] must be zero
b011000 32MB Bits [24:15] must be zero
b011001 64MB Bits [25:15] must be zero
b011010 128MB Bits [26:15] must be zero
b011011 256MB Bits [27:15] must be zero
b011100 512MB Bits [28:15] must be zero
b011101 1GB Bits [29:15] must be zero
b011110 2GB Bits [30:15] must be zero
b011111 4GB Bits [31:15] must be zero
b100000 8GB Bits [32:15] must be zero
b100001 16GB Bits [33:15] must be zero
b100010 32GB Bits [34:15] must be zero
b100011 64GB Bits [35:15] must be zero
11.4.61.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
sp15 Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
subregion_disable15
Reserved
size15
en15
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
11.4.61.4 Fields
Field Function
31-28 sp15
sp15 Permissions setting for region n. If an AXI transaction occurs to region n, the value in the spn field
controls whether the TZASC permits the transaction to proceed.
27-16 Reserved, Should be Zero (SBZ).
—
15-8 subregion_disable15
subregion_disab Regions are split into eight equal-sized sub-regions, and each bit enables the corresponding subregion to
le15 be disabled:
Bit [15] = 1 Subregion 7 is disabled.
Bit [14] = 1 Subregion 6 is disabled.
Bit [13] = 1 Subregion 5 is disabled.
Bit [12] = 1 Subregion 4 is disabled.
Bit [11] = 1 Subregion 3 is disabled.
Bit [10] = 1 Subregion 2 is disabled.
Bit [9] = 1 Subregion 1 is disabled.
Bit [8] = 1 Subregion 0 is disabled.
7 Reserved, Should be Zero (SBZ).
—
6-1 size15
Table continues on the next page...
Field Function
size15 Size of region n.The AXI address width, that is AXI_ADDRESS_MSB+1, controls the upper limit value of
this field.
The table below shows how the size n field controls the region size and what constraints, if any, the
TZASC applies to the base address to ensure that a region starts on the boundary of the region size.
0 en15
en15 Enable for region n:
0 = region n is disabled
1 = region n is enabled.
11.4.62.1 Offset
Register Offset
itcrg E00h
11.4.62.2 Function
The itcrg register enables the integration test logic. Use this in integration test mode.
Available in all configurations of the TZASC.
11.4.62.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
int_test_en
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.62.4 Fields
Field Function
31-1 Undefined. Write as zero.
—
0 int_test_en
int_test_en Controls the enabling of, or provides the status of, the integration test logic:
0 = integration test logic is disabled
1 = integration test logic is enabled.
11.4.63.1 Offset
Register Offset
itip E04h
11.4.63.2 Function
The itip register enables a processor to read the status of secure_boot_lock. Integration
test logic must be enabled otherwise reads return 0x0. See Integration Test Control
Register for information about enabling the integration test logic. Available in all
configurations of the TZASC.
11.4.63.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
itip_secure_boot_lock
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.63.4 Fields
Field Function
31-1 Reserved.
—
0 itip_secure_boot_lock
itip_secure_boot
_lock
11.4.64.1 Offset
Register Offset
itop E08h
11.4.64.2 Function
The itop register enables a processor to set the status of tzasc_int in integration test mode.
Usage constraints Integration test logic must be enabled otherwise it ignores writes and
reads return 0x0. See Integration Test Control Register for information about enabling the
integration test logic. Available in all configurations of the TZASC.
11.4.64.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Reserved
itop_int
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11.4.64.4 Fields
Field Function
31-1 Undefined. Write as zero.
—
0 itop_int
itop_int Set or reset the value of tzasc_int port by writing 1 or 0 into itop_int bit. If you read, the written value can
be read back.
0 = tzasc_int is LOW
1 = tzasc_int is HIGH.
12.1 Introduction
The supplemental configuration unit provides device specific configuration and status
registers for the device. It is the chip defined module for extending the device
configuration unit (DCFG) module. It provides a set of CCSR space registers in addition
to those available in the device configuration unit. There are no source and target IDs
associated with this unit
12.2 Overview
The supplement configuration unit contains the following registers:
• Chip specific control and status registers (CCSR)
• Pinmux control registers(CCSR)
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
TXPREEMPAMPT
TXHSXVTUNE
R
UNE
COMPDISTUNE OTGTUNE0 SQRXTUNE TXFSLSTUNE
Reset 0 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
TXPREEMPPULSE
TXPREEMPAMPT
TXRISETUNE
TXRESTUNE
R
TUNE
UNE
TXVREFTUNE PCSTXDEEMPH3P5DB
Reset 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
PCSRXLOSMASKVAL PCSTXDEEMPH6DB
Reset 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 1
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
PCSTXSWINGFULL LOSBIAS TXVBOOSTLVL —
Reset 1 1 1 1 1 1 1 1 0 1 0 0 1 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
LNTX2RXLPB
VATESTENB
LPBKENB0
USB1ACJT mPLL_MULT
K
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
TXPREEMPAMPT
TXHSXVTUNE
R
UNE
COMPDISTUNE OTGTUNE0 SQRXTUNE TXFSLSTUNE
Reset 0 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
TXPREEMPPULSE
TXPREEMPAMPT
TXRISETUNE
TXRESTUNE
R
TUNE
UNE
TXVREFTUNE PCSTXDEEMPH3P5DB
Reset 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
PCSRXLOSMASKVAL PCSTXDEEMPH6DB
Reset 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 1
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
PCSTXSWINGFULL LOSBIAS TXVBOOSTLVL —
Reset 1 1 1 1 1 1 1 1 0 1 0 0 1 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
LPBKENB0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
TXPREEMPAMPT
TXHSXVTUNE
R
UNE
COMPDISTUNE OTGTUNE0 SQRXTUNE TXFSLSTUNE
Reset 0 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
TXPREEMPPULSE
TXPREEMPAMPT
TXRISETUNE
TXRESTUNE
R
TUNE
UNE
TXVREFTUNE PCSTXDEEMPH3P5DB
Reset 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0
Note that the signals described in the register are described as big endian(0:x) however
the signals in the USB3 interface are little endian(x:0). The connectivity is done in such a
way that bit 0 of the following register field corresponds to bit 0 of the USB3 interface.
Address: 157_0000h base + 8Ch offset = 157_008Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
PCSRXLOSMASKVAL PCSTXDEEMPH6DB
Reset 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 1
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
PCSTXSWINGFULL LOSBIAS TXVBOOSTLVL —
Reset 1 1 1 1 1 1 1 1 0 1 0 0 1 0 0 0
Note that the signals described in the register are described as big endian(0:x) however
the signals in the USB3 interface are little endian(x:0). The connectivity is done in such a
way that bit 0 of the following register field corresponds to bit 0 of the USB3 interface.
Address: 157_0000h base + 90h offset = 157_0090h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
LPBKENB0
R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The USB2 ICID register contains the bits to provide the ICID for USB2. This register is
reset at HRESET.
Address: 157_0000h base + 100h offset = 157_0100h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Lock_Bit
ICID —
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9–31 Reserved
—
The USB3 ICID register contains the bits to provide the ICID for USB3. This register is
reset at HRESET.
Address: 157_0000h base + 104h offset = 157_0104h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Lock_Bit
ICID —
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9–31 Reserved
—
The qDMA ICID register contains the bits to provide the ICID for qDMA to the SMMU.
This register is reset at HRESET.
Address: 157_0000h base + 114h offset = 157_0114h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Lock_Bit
ICID —
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9–31 Reserved
—
The SATA ICID register contains the bits to provide the ICID for SATA to the SMMU.
This register is reset at HRESET.
Address: 157_0000h base + 118h offset = 157_0118h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Lock_Bit
ICID —
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9–31 Reserved
—
The USB1 ICID register contains the bits to provide the ICID for USB1. This register is
reset at HRESET.
Address: 157_0000h base + 11Ch offset = 157_011Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Lock_Bit
ICID —
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The QE ICID register contains the bits to provide the ICID for QE to the SMMU. This
register is reset at HRESET.
Address: 157_0000h base + 120h offset = 157_0120h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Lock_Bit
ICID —
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The eSDHC ICID register contains the bits to provide the ICID for eSDHC to the
SMMU. This register is reset at HRESET.
Address: 157_0000h base + 124h offset = 157_0124h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Lock_Bit
ICID —
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The eDMA ICID register contains the bits to provide the ICID for eDMA to the SMMU.
This register is reset at HRESET.
Address: 157_0000h base + 128h offset = 157_0128h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Lock_Bit
ICID _
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
_
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The ETR ICID register contains the bits to provide the ICID for ETR to the SMMU. This
register is reset at HRESET
Address: 157_0000h base + 12Ch offset = 157_012Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Lock_Bit
ICID —
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The core0 soft reset register contains the bits to provide the soft reset to core0 of A53
complex. This register is reset at HRESET.
Address: 157_0000h base + 130h offset = 157_0130h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
soft_reset
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The core1 soft reset register contains the bits to provide the soft reset to core1 of A53
complex. This register is reset at HRESET.
Address: 157_0000h base + 134h offset = 157_0134h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
soft_reset
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The core2 soft reset register contains the bits to provide the soft reset to core2 of A53
complex. This register is reset at HRESET.
Address: 157_0000h base + 138h offset = 157_0138h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
soft_reset
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The core3 soft reset register contains the bits to provide the soft reset to core3 of A53
complex. This register is reset at HRESET.
Address: 157_0000h base + 13Ch offset = 157_013Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
soft_reset
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The PEX PME control register contains the bits to generate PM turnoff message for
power management. This register is reset at HRESET.
Address: 157_0000h base + 144h offset = 157_0144h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
PEX1PME
PEX2PME
PEX3PME
R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 Default
1 RC mode only
1–3 This field is reserved.
-
4 Generates PM turnoff message for power management for PCI Express2.
PEX2PME
It should be cleared by software.
0 Default
1 RC mode only
5–7 This field is reserved.
-
8 Generates PM turnoff message for power management for PCI Express3.
PEX3PME
It should be cleared by software.
0 Default
1 RC mode only
9–31 This field is reserved.
-
This register contains the bits to enable chaining of FlexTimers. This register is reset at
HRESET.
Address: 157_0000h base + 154h offset = 157_0154h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
FTM_CHN1
FTM_CHN2
FTM_CHN3
FTM_CHN4
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The ALTCBAR register contains the bits for alternate configuration base address register
for PBL. This register is reset at HRESET.
Address: 157_0000h base + 158h offset = 157_0158h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
ALTCBAR —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The QuadSPI configuration register contains the bits for QuadSPI configuration. This
register is reset at HRESET.
Address: 157_0000h base + 15Ch offset = 157_015Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
CLK_SEL Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The QOS1 register contains the bits for QoS inputs to CCI/interconnect fabric. This
register is reset at HRESET. Note that the bits are described as [x:x+3] however are
connected to QOS ports as [3:0]. So, there is a bit reversal involved.
Address: 157_0000h base + 16Ch offset = 157_016Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
eDMA_QoS USB2_QoS USB3_QoS qDMA_QoS PEX2_QoS PEX1_QoS SEC_QoS FM_QoS
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The QOS2 register contains the bits for QoS inputs to CCI/interconnect fabric. This
register is reset at HRESET. Note that the bits are described as [x:x+3]however are
connected to QOS ports as [3:0]. So, there is a bit reversal involved.
Address: 157_0000h base + 170h offset = 157_0170h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
USB1_QoS PEX3_QoS QMan_QoS A53_QoS — eSDHC_QoS QE_QoS SATA_QoS
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The GIC-400 address 64 K page alignment register controls the GIC-400 addressing.
This register is reset at PORESET.
Address: 157_0000h base + 188h offset = 157_0188h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
GIC_ADDR
—
W
Reset 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The debug ICID register contains the bits to provide the ICID for the debug components
to the SMMU. This register is reset at HRESET.
Address: 157_0000h base + 18Ch offset = 157_018Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Lock_Bit
ICID —
W
Reset 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9–31 Reserved
—
The snoop configuration control register contains the bits to drive snoop signal for
various masters. This register is reset at HRESET.
Address: 157_0000h base + 1A4h offset = 157_01A4h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SATAWRSNP
USB1WRSNP
USB2WRSNP
SATARDSNP
USB1RDSNP
DBGWRSNP
SECWRSNP
DBGRDSNP
SECRDSNP
eDMASNP
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
USB3WRSNP
USB2RDSNP
USB3RDSNP
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The interrupt polarity control register contains the bits to control the polarity of the
IRQ0-11. This register is reset at HRESET.
Address: 157_0000h base + 1ACh offset = 157_01ACh
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
IRQ10INTP
IRQ11INTP
IRQ0INTP
IRQ1INTP
IRQ2INTP
IRQ3INTP
IRQ4INTP
IRQ5INTP
IRQ6INTP
IRQ7INTP
IRQ8INTP
IRQ9INTP
R
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The core soft reset enable control register contains the bit to enable the core soft reset
functionality. This register is reset at PORESET.
Address: 157_0000h base + 204h offset = 157_0204h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CORESREN
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
RVBAR0_0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
RVBAR0_1 —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The core 1 reset vector base address0 register controls the reset vector base address for
core 1 for bits [33:2]. This register is reset at PORESET. This register should be
programmed in the PBI phase.
Address: 157_0000h base + 228h offset = 157_0228h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
RVBAR1_0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The RVBAR1_1 register controls the reset vector base address for core 1 for bits [39:34].
This register is reset at PORESET. This register should be programmed in the PBI phase.
Address: 157_0000h base + 22Ch offset = 157_022Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
RVBAR1_1 —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The core 2 reset vector base address0 register controls the reset vector base address for
core 0 for bits [33:2]. This register is reset at PORESET. This register should be
programmed in the PBI phase.
Address: 157_0000h base + 230h offset = 157_0230h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
RVBAR2_0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The core 2 reset vector base address1 register controls the reset vector base address for
core 2 for bits [39:34]. This register is reset at PORESET. This register should be
programmed in the PBI phase.
Address: 157_0000h base + 234h offset = 157_0234h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
RVBAR2_1 —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The core 3 reset vector base address0 controls the reset vector base address for core 3 for
bits [33:2]. This register is reset at PORESET. This register should be programmed in the
PBI phase.
Address: 157_0000h base + 238h offset = 157_0238h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
RVBAR3_0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The core 3 reset vector base address1 register controls the reset vector base address for
core 3 for bits [39:34]. This register is reset at PORESET. This register should be
programmed in the PBI phase.
Address: 157_0000h base + 23Ch offset = 157_023Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
RVBAR3_1 —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The LPMCSR register provides status and control bits for various signals on A53. This
register is reset at PORESET.
Address: 157_0000h base + 240h offset = 157_0240h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CPUQACCEPTn
CPUQACCEPTn
CPUQACTIVE3
CPUQACTIVE2
CPUQDENY3
CPUQDENY2
CPUQREQn3
CPUQREQn2
R
SMPEN3
SMPEN2
— —
3
2
W
Reset 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
CPUQACCEPTn
CPUQACCEPTn
CPUQACTIVE1
CPUQACTIVE0
CPUQDENY1
CPUQDENY0
CPUQREQn1
CPUQREQn0
R
SMPEN1
SMPEN0
— —
1
0
W
Reset 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
The ECGTX clock mux control register contains the bits to support FMan clock
multiplexing. This register is reset on PORESET.
Address: 157_0000h base + 404h offset = 157_0404h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R CLK_SEL
— —
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The SDHC IO VSEL control register contains the bits to support SDHC IO voltage
switching. This register is reset on HRESET.
Address: 157_0000h base + 408h offset = 157_0408h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
TGLEN
VSELVAL —
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
SDHC_VS
R
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The extended RCW controlled pinmux register contains the bits to provide bits for pin
multiplexing control. This register is reset on HRESET.
Address: 157_0000h base + 40Ch offset = 157_040Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
—
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— IIC3_SCL — IIC3_SDA — IIC4_SCL — IIC4_SDA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The USB DRVVBUS select register contains the bits to provide control the USB which
drives USBn_DRVVBUS.This register is reset on HRESET.
Address: 157_0000h base + 410h offset = 157_0410h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
USB_
—
W SEL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The USB PWRFAULT select register defines how USB_PWR_FAULT is sampled by all
three controllers. This register is reset on HRESET.
Address: 157_0000h base + 414h offset = 157_0414h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
—
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— USB3_SEL USB2_SEL USB1_SEL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The USB PHY1 reference clock select register contains bits to select the reference clock
for USB PHY1. This register is reset on HRESET.
Address: 157_0000h base + 418h offset = 157_0418h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
RST —
Reset 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— FSEL CKSEL
Reset 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0
The The USB PHY2 reference clock select register contains bits to select the reference
clock for USB PHY2. This register is reset on HRESET.
Address: 157_0000h base + 41Ch offset = 157_041Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
RST —
Reset 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— FSEL CKSEL
Reset 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0
The USB PHY3 reference clock select register contains bits to select the reference clock
for USB PHY3. This register is reset on HRESET.
Address: 157_0000h base + 420h offset = 157_0420h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
RST —
Reset 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— FSEL CKSEL
Reset 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0
The RETREQCR register contain the bits to enable retention request. This register is
reset on HRESET.
Address: 157_0000h base + 424h offset = 157_0424h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
RETREQ0
RETREQ1
RETREQ2
RETREQ3
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The COREPMCR register contains control bit to enable WFIL2. This register is reset on
HRESET.
Address: 157_0000h base + 42Ch offset = 157_042Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
WFIL2EN
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The COREBCR register provides expansion bits for device control. This register is reset
on HRESET. The bits get set on assertion of core reset.
Address: 157_0000h base + 680h offset = 157_0680h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
CORE3
CORE2
CORE1
CORE0
—
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— IBS SRS —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The group 0 shared message signaled interrupt register indicates which of the up to 8
interrupt sources sharing a message register have pending interrupts. This register is
cleared when read; write to the register has no effect.
Address: 157_0000h base + 1010h offset = 157_1010h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
SHn —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The group 0(G0) shared message signaled interrupt register indicates which of the up to 8
interrupt sources sharing a message register have pending interrupts. This register is
cleared when read; write to the register has no effect.
Address: 157_0000h base + 1014h offset = 157_1014h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— SHn —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The group 0(G0) shared message signaled interrupt register indicates which of the up to 8
interrupt sources sharing a message register have pending interrupts. This register is
cleared when read; write to the register has no effect.
Address: 157_0000h base + 1018h offset = 157_1018h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— SHn —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The group 0(G0) shared message signaled interrupt register indicates which of the up to 8
interrupt sources sharing a message register have pending interrupts. This register is
cleared when read; write to the register has no effect.
Address: 157_0000h base + 101Ch offset = 157_101Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— SHn
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— IBS SRS —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The group 1 shared message signaled interrupt register indicates which of the up to 8
interrupt sources sharing a message register have pending interrupts. This register is
cleared when read; write to the register has no effect.
Address: 157_0000h base + 2010h offset = 157_2010h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
SHn —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The group 1 shared message signaled interrupt register indicates which of the up to 8
interrupt sources sharing a message register have pending interrupts. This register is
cleared when read; write to the register has no effect.
Address: 157_0000h base + 2014h offset = 157_2014h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— SHn —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The group 1 shared message signaled interrupt register indicates which of the up to 8
interrupt sources sharing a message register have pending interrupts. This register is
cleared when read; write to the register has no effect.
Address: 157_0000h base + 2018h offset = 157_2018h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— SHn —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The group 1 shared message signaled interrupt register indicates which of the up to 8
interrupt sources sharing a message register have pending interrupts. This register is
cleared when read; write to the register has no effect.
Address: 157_0000h base + 201Ch offset = 157_201Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— SHn
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— IBS SRS —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The group 2 shared message signaled interrupt register indicates which of the up to 8
interrupt sources sharing a message register have pending interrupts. This register is
cleared when read; write to the register has no effect.
Address: 157_0000h base + 3010h offset = 157_3010h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
SHn —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The group 2 shared message signaled interrupt register indicates which of the up to 8
interrupt sources sharing a message register have pending interrupts. This register is
cleared when read; write to the register has no effect.
Address: 157_0000h base + 3014h offset = 157_3014h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— SHn —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The group 2 shared message signaled interrupt register indicates which of the up to 8
interrupt sources sharing a message register have pending interrupts. This register is
cleared when read; write to the register has no effect.
Address: 157_0000h base + 3018h offset = 157_3018h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— SHn —
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The group 2 shared message signaled interrupt register indicates which of the up to 8
interrupt sources sharing a message register have pending interrupts. This register is
cleared when read; write to the register has no effect.
Address: 157_0000h base + 301Ch offset = 157_301Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
— SHn
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13.2 Features
The device configuration unit features the following:
• Pin sampling of device configuration pins at power-on reset and a corresponding
POR status register for capturing the values of these configuration pins
• Reset Configuration Word (RCW) support via a set of RCW status registers written
by the Preboot Loader (PBL) during power-on or hard reset in the PBL's RCW stage
• Boot release registers(s) used for releasing cores for booting
• Register file for the Reset module including:
• Register for initiating a device RESET_REQ_B through software
• Set of registers for control and status of sources on the device which can drive
the device's RESET_REQ_B pin
• Core and device disable registers used for gating off clocks for any IP blocks or cores
which are not used at all by an application
• Two small sets of scratch registers:
• One set of read / write scratch registers
• One set of write-once / read scratch registers
The table below shows the memory-mapped CCSR registers of the Device Config
module and lists the offset, name, and a cross-reference to the complete description of
each register. These registers only support 32-bit accesses.
DCFG_CCSR memory map
Absolute
Width Section/
address Register name Access Reset value
(in bits) page
(hex)
1EE_0000 POR Status Register 1 (DCFG_CCSR_PORSR1) 32 R See section 13.3.1/592
1EE_0004 POR Status Register 2 (DCFG_CCSR_PORSR2) 32 R See section 13.3.2/593
General-Purpose POR Configuration Register
1EE_0020 32 R See section 13.3.3/595
(DCFG_CCSR_GPPORCR1)
1EE_0070 Device Disable Register 1 (DCFG_CCSR_DEVDISR1) 32 R/W 0000_0000h 13.3.4/595
1EE_0074 Device Disable Register 2 (DCFG_CCSR_DEVDISR2) 32 R/W 0000_0000h 13.3.5/597
1EE_0078 Device Disable Register 3 (DCFG_CCSR_DEVDISR3) 32 R/W 0000_0000h 13.3.6/599
1EE_007C Device Disable Register 4 (DCFG_CCSR_DEVDISR4) 32 R/W 0000_0000h 13.3.7/600
1EE_0080 Device Disable Register 5 (DCFG_CCSR_DEVDISR5) 32 R/W 0000_0000h 13.3.8/601
1EE_0094 Core Disable Register (DCFG_CCSR_COREDISR) 32 R/W 0000_0000h 13.3.9/604
13.3.10/
1EE_00A4 System Version Register (DCFG_CCSR_SVR) 32 R See section
606
13.3.11/
1EE_00B0 Reset Control Register (DCFG_CCSR_RSTCR) 32 R/W 0000_0000h
607
Reset Request Preboot Loader Status Register 13.3.12/
1EE_00B4 32 w1c 0000_0000h
(DCFG_CCSR_RSTRQPBLSR) 608
13.3.13/
1EE_00C0 Reset Request Mask Register (DCFG_CCSR_RSTRQMR1) 32 R/W 0000_4000h
609
13.3.14/
1EE_00C8 Reset Request Status Register (DCFG_CCSR_RSTRQSR1) 32 w1c 0000_0000h
611
13.3.15/
1EE_00E4 Boot Release Register (DCFG_CCSR_BRR) 32 R/W 0000_0000h
615
Reset Control Word Status Register n 13.3.16/
1EE_0100 32 R See section
(DCFG_CCSR_RCWSR1) 616
Reset Control Word Status Register n 13.3.16/
1EE_0104 32 R See section
(DCFG_CCSR_RCWSR2) 616
Reset Control Word Status Register n 13.3.16/
1EE_0108 32 R See section
(DCFG_CCSR_RCWSR3) 616
Reset Control Word Status Register n 13.3.16/
1EE_010C 32 R See section
(DCFG_CCSR_RCWSR4) 616
Reset Control Word Status Register n 13.3.16/
1EE_0110 32 R See section
(DCFG_CCSR_RCWSR5) 616
Table continues on the next page...
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
IFC_TE
R RCW_SRC
Reserved Reserved
Reset n n n n n n n n n 1 1 n n 1 n n
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
ENG0
ENG1
ENG2
Reserved
Reset n n n n 1 1 1 1 n 1 1 1 1 1 1 1
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
DRAM_TYPE
R
Reserved Reserved
Reset n n n n n n n n 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R POR_CFG_VEC
Reserved
W
Reset * * * * * * * * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
* Notes:
• POR_CFG_VEC field: Reset value supplied by cfg_gpinput[0:7].
powered down, then its data access as well as register access are
not allowed.
Address: 1EE_0000h base + 70h offset = 1EE_0070h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
ESDHC
DMA1
DMA2
PBL Reserved Reserved USB3 USB2
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
SATA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 Module is enabled
1 Module is disabled
9 DMA controller 2 disable.
DMA2
DMA2 here represents eDMA.
Table continues on the next page...
NOTE
Power down for any module can be configured by
programming the DCFG_DEVDISR register. If any module is
powered down, then its data access as well as register access are
not allowed.
Address: 1EE_0000h base + 74h offset = 1EE_0074h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
FMAN1_MAC1
FMAN1_MAC2
FMAN1_MAC3
FMAN1_MAC4
FMAN1_MAC5
FMAN1_MAC6
FMAN1_MAC9
Reserved
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
FMAN1
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
QMAN
BMAN
Reserved Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
DUART1
DUART2
Reserved QSPI Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
powered down, then its data access as well as register access are
not allowed.
Address: 1EE_0000h base + 80h offset = 1EE_0080h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
LPUART4
LPUART1
LPUART2
OCRAM1
OCRAM2
Reserved
DDR Reserved Reserved IFC GPIO DBG Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
LPUART3
LPUART5
LPUART6
FlexTimer
Reserved
WDOG1
WDOG2
WDOG3
WDOG4
WDOG5
ICMMU
SPI1 IIC4 IIC3 IIC2 IIC1
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 Module is enabled
1 Module is disabled
10 Debug module disable.
DBG
0 Module is enabled
1 Module is disabled
11 This field is reserved.
- Reserved
12–13 This field is reserved.
- Reserved
14 LPUART1 disable
LPUART1
0 Module is enabled
1 Module is disabled
15 LPUART2 disable
LPUART2
0 Module is enabled
1 Module is disabled
16 LPUART3 disable
LPUART3
0 Module is enabled
1 Module is disabled
17 This field is reserved.
- Reserved
18 LPUART5 disable
LPUART5
0 Module is enabled
1 Module is disabled
19 LPUART6 disable
LPUART6
0 Module is enabled
1 Module is disabled
20 WDOG1 disable.
WDOG1
0 Module is enabled
1 Module is disabled
21 FlexTimer disable.
FlexTimer
0 Module is enabled
1 Module is disabled
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The SVR contains the system version number for the device. This value can also be read
though the SVR SPR of the Arm Cortex-A53 core.
Address: 1EE_0000h base + A4h offset = 1EE_00A4h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reset 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 0 0 n 0 0 n 0 0 0 1 0 0 0 1
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
RESET_REQ
Reserved
Reserved
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R ERR_CODE
Reserved Reserved
W w1c
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
NOTE: See Error codes for details on the PBL error encodings.
15–31 This field is reserved.
- Reserved
The RSTRQMR contains mask bits for optional masking of RESET_REQ_B sources to
prevent generation of such a reset request. It excludes core watchdog timer sources.
Address: 1EE_0000h base + C0h offset = 1EE_00C0h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CORE_WDOG3_RST_
CORE_WDOG4_RST_
CORE_WDOG5_RST_
ALTCBAR_MSK
Reserved
MSK
MSK
Reserved Reserved
MSK MSK MSK MSK
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
CORE_WDOG_RST_MSK
SRDS_RST_MSK
R
CCP_ERR_MSK
RPTOE_MSK
MBEE_MSK
SDC_MSK
Reserved
Reserved
Reset 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CORE_WDOG3_RST_RR
CORE_WDOG4_RST_RR
CORE_WDOG5_RST_RR
ALTCBAR_RR
SEC_RR
SFP_RR
PBL_RR
IFC_RR
R
Reserved
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
CORE_WDOG1_RST_RR
SRDS_RST_RR
CCP_ERR_RR
RPTOE_RR
MBEE_RR
SDC_RR
R
Reserved
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
NOTE: After a PORESET, RCWSRn registers can be read. If RSTRQSR[IFC_RR] is set after a
PORESET and RCWSRn does not contain RCW values, then the failure occurred during RCW. If
the bit is set and RCWSRn contains valid values, then the failure occurred during PBI.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved CR3 CR2 CR1 CR0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
NOTE
After a PORESET, RCWSRn registers can be read. If
RSTRQSR[IFC_RR] is set after a PORESET and RCWSRn
does not contain RCW values, then the failure occurred during
RCW. If the bit is set and RCWSRn contains valid values, then
the failure occurred during PBI.
Address: 1EE_0000h base + 100h offset + (4d × i), where i=0d to 15d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R RCW
W
Reset n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n
The SCRATCHW1Rn provides scratch register locations available to the user. These are
write-once registers. After these have been written once, they can only be written after a
power-on or hard reset.
Address: 1EE_0000h base + 300h offset + (4d × i), where i=0d to 3d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
VAL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
If an application prefers that RST_PORST is not set after hard reset, then a write-1-clear
must be done to CRSTSRn[RST_PORST] upon exiting power-on reset.
Ready Bit Functionality
This bit is cleared on a device power-on or hard reset. Upon completion of power-on or
hard reset processing, this bit may be automatically set for a core if none of the
conditions specified in the READY bit definition are true.
Address: 1EE_0000h base + 400h offset + (4d × i), where i=0d to 3d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
RST_PORST
RST_HRST
READY
R
Reserved
Reserved
W w1c w1c
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The DMACR1 contains bits for allowing DMA transactions (qDMA) from internal
sources on the device.
Address: 1EE_0000h base + 608h offset = 1EE_0608h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
DMA1_0 Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Each Initiator Type Topology Register provides one entry of a 64 entry lookup table.
Address: 1EE_0000h base + 740h offset + (4d × i), where i=0d to 63d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R INIT_TYPE
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 n n n n n n n n
Each Topology Cluster Register (TP_CLUSTERn) contains four 6-bit fields, each of
which is an index used for an initiator type lookup in a 64 entry initiator table
implemented using the Topology Type Registers.
Address: 1EE_0000h base + 844h offset + (8d × i), where i=0d to 0d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reset n n n n n n n n 0 0 n n n n n n
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R IT_IDX_PC2 IT_IDX_PC1
Reserved Reserved
W
Reset 0 0 n n n n n n 0 0 n n n n n n
DDRCLKDR allows for specific, unused clocks of the DDR Controllers' interface to be
released to high impedance, thereby reducing power consumption.
Address: 1EE_0000h base + E60h offset = 1EE_0E60h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
D1_MCK0_DIS
D1_MCK1_DIS
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DDRCLKDR allows for specific, unused clocks of the DDR Controller interface to be
released to high impedance, thereby reducing power consumption.
Address: 1EE_0000h base + E60h offset = 1EE_0E60h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
D1_MCK1_DIS
D1_MCK0_DIS
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The IFCCLKDR allows for specific, unused clocks of the IFC interface to be not driven/
high-impedance, thereby reducing power consumption.
Address: 1EE_0000h base + E68h offset = 1EE_0E68h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
IFC_CLK0_DIS
IFC_CLK1_DIS
Reserved
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The SDHCPCR allows for specific polarity control of the eSDHC input signals.
Address: 1EE_0000h base + E80h offset = 1EE_0E80h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
WP_INV
CD_
Reserved
INV
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14.1 Introduction
This chapter provides the specification and programming model for the RCPM.
14.1.1 Overview
The Run Control and Power Management (RCPM) module communicates with
embedded cores, coherency modules, and other device platform module to provide run
control and power management functionality. The device can be placed into a range of
low power states, via the RCPM (and its associated RCPM driver), to significantly reduce
dynamic power consumption at the processor core, cluster, and device level. The RCPM
also provides the functionality used to return processors, clusters, and device platform
module to full operation in response to wake-up events such as external signals, timers,
interrupts, and network traffic.
A complete whitepaper on QorIQ Power Management can be found at QorIQ Power
Management.
• WFI instruction by all the cores would initiate L2 Cache of the cluster to go into
STANDBY mode.
• The entry and exit mode of cluster power management is captured in Modes
Entry and Exit for Power Management
• Device Power Management:
• LPM20 state where:
• All cores are in STANDBYWFI (PW15) state.
• All cores are in PH20 state.
• Platform clock is disabled.
• Entry into LPM20 via setting POWMGTCSR[LPM20_REQ] as well as WFI
Instruction execution from all the cores.
• LPM20 state wake up source is captured in Table 14-5
• SWLPM20 state where:
• All cores are in STANDBYWFI (PW15) state.
• Platform clock is disabled.
• Entry into SWLPM20 via WFI Instruction execution from all the cores.
• SWLPM20 state wake up source are the same as is captured in Table 14-5.
• Independent Device wake up from:
• Unmasked interrupt configured in GIC-400 and RCPM registers
• Unmasked critical interrupt
1. A resumable power state in the core indicates that the core can exit from a power managed state and return to Full On
without the core(s) being reset.
1. A resumable power state for the device indicates that the device can exit from a power managed state and return to Full
On without the device being reset.
Table 14-4. Core and Cluster Power Management States: Entry and Exit
Power Entry via ... Exit via ...
Management
Temporary exit Permanent exit
State Name
STANDBYWFI • Core Executes WFI (wait for • A snoop request that • Core warm reset or any
(PW15) interrupt) instruction. must be serviced by the device-level reset
core L1 data cache. • Any interrupt request.1
• A cache or TLB • A core debug halt request.2
maintenance operation • Debug interrupt without
that must be serviced by masking
the core L1 instruction • Wake on IRQ[0-11]
cache, data cache, or • Wake on software interrupt
TLB. • Wake on peripheral
• A core debug halt interrupt
request. • Wake on HRESET
• An APB access to the • Wake on PORESET
debug or trace registers • Wake on debug halt
residing in the core • Wake on debug interrupt
power domain.
PH20 • Privileged software set The following core wake up
corresponding bit in RCPM events will unconditionally wake
PCPH20SETR to 1. up core from power management
state via core_wakeup_req
Core PH20 (PGSR) operation can be signal.
triggered by the following mechanism:
• GIC core warm reset
1. Set CPUECTLR[2:0] CPU request deassertion
retention control to a non-zero • Core debug halt request
value. Refer Arm® Cortex®-A53 • Debug interrupt without
Technical Reference Manual for masking
more information. • Wake on IRQ[0-11]
2. Set CPUECTLR[6] SMPEN to • Wake on peripheral
1.The cluster power interrupt
management controller uses the • Wake on HRESET
state of this bit to decide whether • Wake on PORESET
to put the core into retention • Wake on debug halt
(equals to one) or • Wake on debug interrupt
powerdown(equals to zero). • Wake on interrupt with
3. Write to generic timer control clearing PCPH20REQ in
register SYS_Counter_CNTCR register PCPH20CLRR
to enable the Arm counter • Wake on FlexTimer
CNTVALUEB[63:0]. interrupt, if programmed
4. Write to generic timer control • Wake on IIC interrupt, IIC
register SYS_Counter_CNTCR slave address matching, if
to enable the Arm counter programmed
CNTVALUEB[63:0] • Wake on UART interrupt,
5. Set the RETREQn bit of UART data reception, if
corresponding core in programmed
SCFG_RETREQCR register for • Wake on IRQ0 and IRQ2, if
RETENTION_REQ_EN at programmed
arm_cluster to be set.
6. Set the PC_PH20_REQ bit in
RCPM_PCPH20SETR register
through Software.
7. Execute WFI Instruction of the
Core.
Table 14-4. Core and Cluster Power Management States: Entry and Exit
Power Entry via ... Exit via ...
Management
Temporary exit Permanent exit
State Name
8. COP sends RETENTION_REQ
and waits for RETENTION
output from the core.
9. When RETENTION signal is
asserted at COP boundary, Core
state machine moves to PH20
state.
10. RCPM_PCPH20SR register
corresponding bit should get set.
1. Interrupts may still be masked in the GIC. Masking in the GIC prevents interrupt delivery to the core and therefore does not
cause an exit.
2. For a core debug halt request to cause an exit from power management mode, the core must be operating at a frequency
greater than the platform frequency.
NOTE
The power management states of A53 core can be achieved
with the software sequence only without the RCPM interaction.
The registers given below provides the different status of A53
core:
• TWAITSR0: Status shows core is in the WFI state
• POWMGTCSR: LPM20 request and status
Table 14-5 summarizes the entry and exit for the device power management modes.
Table 14-5. Device RCPM Mode: Entry and Exit for Power Management
Device Power Management State Entry via ... Exit via ...
Name
LPM20 LPM20 operation can be triggered by the • Wake on all FMan MACs - Magic
following mechanism: Packet, if programmed
• Wake on IIC1, if programmed
• Set CPUECTLR[2:0] CPU
• Wake on LPUART1, if
retention control to a non-zero
programmed
value.
• Wake on FlexTimer1, if
• Set CPUECTLR[6] SMPEN to 1.
programmed
The cluster power management
• Wake on GPIO, if programmed
controller uses the state of this bit
• Wake on FMan, if programmed
to decide whether to put the core
• Wake on IRQ pins
into retention (equals to one) or
• PORESET
powerdown(equals to zero).
• Write to generic timer CNCTR
register to enable the Arm counter
CNTVALUEB[63:0].
• Set the
SCFG_COREPMCR[WFIL2].
• Set the
SCFG_RETREQCR[RETREQn] of
corresponding core for
Table 14-5. Device RCPM Mode: Entry and Exit for Power Management
Device Power Management State Entry via ... Exit via ...
Name
RETENTION_REQ_EN at
Arm_cluster to be set.
• Set
RCPM_POWMGTCSR[LPM20_R
EQ].
• Execute WFI instruction on each
core.
3. Redirect LPM20 wake-up conditions/interrupts to core 0. Note that for systems that
are running Linux, the kernel may already perform this function of redirecting all
interrupts to core 0. All of the secondary cores (other than the last active core, core 0)
will no longer be available after the next step.
4. Put the secondary cores (other than the last active core, core 0) into WFI state
through PSCI.
5. Wake from LPM20 due to PCI express events is only supported by a side band signal
which is connected to IRQ or GPIO only. Other LPM20 exit conditions are listed in
section Table 14-5.
6. The last core calls the PSCI function CPU_SUSPEND[system.power-down], which
implements the LPM20 sequence.
13. Read (32-bit) address 0x20170018. Poll this address until the value 0xA000C201 is
read.
14. If exclusion_mask_1 is 0, read/poll (32-bit) on address 0x2017001C until the value
0x00000080 is returned.
15. Read (32-bit) address 0x20170020. Poll this address until the value 0x000C0000 is
returned.
16. Read (32-bit) address 0x20170024. Poll this address until the value 0x38000000 is
returned.
17. Read (32-bit) address 0x2017002C. Poll this address until the value (0x10A33BFC
&~exclusion_mask_2) is returned .
exclusion_mask_2 indicate modules which are already disabled.
18. Save the value of register DEVDISR1 and write (32-bit) the new value of
0xA0C3C201 to address 0x01EE0070.
19. Save the value of register DEVDISR2 and write (32-bit) the new value of
(0xCC0C0080 &~exclusion_mask_1) to address 0x01EE0074.
exclusion_mask_2 indicates module which are already disabled.
20. Save the value of register DEVDISR3 and write (32-bit) the new value of
0xE00C0000 to address 0x01EE0078.
21. Save the value of register DEVDISR4 and write (32-bit) the new value of
0x38000000 to address 0x01EE007C.
22. Save the value of register DEVDISR5 and write (32-bit) the new value of
(0x10A33BFC &~exclusion_mask_2) to address 0x01EE0080.
23. Disable data pre-fetch in Arm core register CPUACTLR_EL1.
24. Set register DDR_TIMING_CFG_4 bits [2:0] = 0x2.
NOTE
The following sequence pre-fetches lines into the
instruction cache for execution. This is necessary because
DDR is going into self-refresh, and the clock to the DDR
controller will be stopped. The code is shown below.
// On input, the following registers are loaded with the specified values:
// w13 = original contents of DEVDISR1
// w14 = original contents of DEVDISR2
// w15 = original contents of DEVDISR3
// w16 = original contents of DEVDISR4
// w17 = original contents of DEVDISR5
The general algorithm to shut down the DDR controller clock is provided below, this
is implemented in the AArch64 assembly language code:
• Load all instructions into the I-Cache so there are no fetches from DDR (D-
Cache has already been disabled).
• Put DDR into self-refresh.
• Request that the DDR controller interface complete all the transactions (quiesce).
• Poll until DDR controller interface is quiescent.
• Stop the clock to the DDR controller.
• Put the core into WFI.
• On exiting WFI, unwind the above.
• If retry count is exceeded while polling for the DDR controller interface to
quiesce; put DDR out of self refresh and exit with an error.
continue_restart:
• LPM20 (sleep)
• SWLPM20 (sleep)
S/W preparations 1
Core
SW : Core WFI step for each core 3
A53
4
STAND BY WFI / STAND_BY_WFI_L2
RETENTION Device and core PM SM started 5
7
SoC Glue
Core PM Requests
PW15, PH20
6
9
CORE PM
PH20 CORE PM
LPM20 10
This section identifies power management resources that are not included as part of a
processor core or platform IP.
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
642 NXP Semiconductors
Chapter 14 Run Control and Power Management (RCPM)
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R T31_T0
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register is used for reporting PH20 status per physical core.
Address: 1EE_2000h base + D0h offset = 1EE_20D0h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R PCn
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
PC_PH20_REQ
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R CP_PH20_REQ
W w1c
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register is used for reporting previous PH20 status per physical core. It is used by
software to know which power saving state it was in before wake up by interrupt.
Address: 1EE_2000h base + DCh offset = 1EE_20DCh
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R PC_P_PH20_n
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 Physical core was not in the PH20 state before wake up by interrupt.
1 Physical core was in the PH20 state before wake up by interrupt.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
LPM20_REQ
Reserved
SD_ Reserv
Reserved Reserved
PD ed
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
P_LPM20_ST
LPM20_ST
Reserved
Reserved
Reserved
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
FlexTimer1
LPUART1
OCRAM1
MAC1_1
MAC1_2
MAC1_3
MAC1_4
MAC1_5
MAC1_6
MAC1_9
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
GPIO1
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The register masks the nIRQOUT Interrupt from GIC-400 for Sleep/LPM20 mode.
Address: 1EE_2000h base + 15Ch offset = 1EE_215Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
IM0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The register masks the nFIQOUT interrupt from GIC-400 for Sleep/LPM20 mode. The
LPM20 FSM (and software sequence in case of SWLPM20) recognizes the
corresponding core interrupt from GIC-400 and initiates a wake-up sequence provided
the interrupt mask is not set.
Address: 1EE_2000h base + 16Ch offset = 1EE_216Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
IM0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15.1 Introduction
The QUICC Engine™ Block Reference Manual with Protocol Interworking (QEIWRM)
describes all the functional units of the QUICC Engine block and must be used in
conjunction with this device manual and this chapter.
The QEIWRM is a superset manual which includes some information not relevant to the
device. This chapter serves as both a general overview of the QUICC Engine block and a
guide to the specific implementation of the QUICC Engine block on the device.
• QUICC Engine block, gives a general overview of the QUICC Engine architecture
and communication peripherals.
• QUICC Engine implementation details, lists the chapters that do apply.
Implementation-specific details for some chapters follow.
Communications Interfaces
Up to 2 E1/T1
(TDMA, TDMB)
1. The TDM can only work with an external sync and external clock; other options are not supported.
The following subsections include device-specific details for the given chapters of the
QEIWRM.
Arm Cortex-A53
256 KB
L2
32 KB 32 KB cache
L1 L1
I-cache D-cache
System bus
interface 1
Multiuser
SDMA RISC
RAM
UCC1 UCC3
UCC1
UCC3
SDMA
15.3.2 Configuration
Of the UCCs, this device only supports UCC1 and UCC3.
The following features are not supported: USB, MCC, SPI2, Ethernet, and ATM.
BRGO1
BRGO2
BRGO3
BRGO4
RX
UCC1
TX
CLK08/CLK12
CLK09
Bank of Clock
Selection Logic CLK10
RX
UCC3
CLK11
TX
(Partially filled cross-switch logic programmed
in the CMX registers.)
RX TX RX TX
TDMA1 TDMB1
NOTE
1. CLK3 and CLK15 are connected in chip level to the
internal platform clock.
2. External CLK12 pin is connected internally to both CLK12
and CLK8 pins of QE.
In the "NMSI Configuration" subsection, refer to the tables below.
The table below shows the clock source options for the serial controllers and TDM
channels.
The table below shows the clock routing options using the internal clock generators.
Table 15-4. Clock source options-internal clock
Clock BRG clock number
1 2 3 4
UCC1 Rx V V
UCC1 Tx V V
UCC3 Rx V V
UCC3 Tx V V
TDMA1 Rx1 V V
TDMA1 Tx1 V V
TDMB1 Rx1 V V
TDMB1 Tx1 V V
The table below shows the possible external clock sources for the BRGs.
Table 15-7. BRG external clock source options
BRG CLK
3 8 9 10 11 12 15
1 1
BRG1 V
BRG2 V
BRG3 V V
BRG4 V V
The ratio between the UART serial clock frequency and the QUICC Engine clock
frequency should be at least 1:16.
Frame Manager
Parse DMA
QMan
and
Classify
SEC
BMan
Buffer Buffer
Buffer pool
Set of buffers with common characteristics (mainly size, alignment, access control)
B B B
Frame
Contents of a single buffer or multiple buffers referenced by a table that hold data. For
example, packet payload, header, and other control information.
B
F =
FQ = F F
WQ = FQ FQ
Channel
Set of eight work queues (WQs), with hardware provided prioritized access
0 FQ FQ
Chan = Priority
7 FQ FQ
Dedicated channel
Channel statically assigned to a particular end point from which that end point can
dequeue frames. End-point may be a CPU, FMan, or SEC.
Pool channel
A channel statically assigned to a group of end points from which any of the end
points may dequeue frames.
16.2.1.1 FD Format
Table 16-1. Frame Descriptor (FD)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
ADDR
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
STATUS/CMD
1 ADDR
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
2 E F LENGTH
• In simple, multi-buffer frames, the LENGTH field in a table entry with its E bit set
can be ignored.
• The E bit takes precedence over the F bit (that is, if both are set in an entry, the F bit
is ignored).
This figure shows a simplified representation of a "long" simple frame using a scatter/
gather table. Note that this diagram does not show the use of the Extension bit.
Frame Descriptor Scatter/ Gather List Buffers
D ICID ADDR
BPID 0 0 LENGTH
ADDR BPID
0 0 LENGTH
BPID
OFFSET
ADDR
0 1 LENGTH
BPID
OFFSET
• When the data referenced by an entry with the F bit is processed regardless of the
LENGTH indicated in the FD for the frame. In some cases, a mismatch (less data
found in the frame compared to the FD length) may be an error condition for the
accelerator module that is performing the processing, and it is reported as such.
• Processing also stops when the number of bytes specified by the overall length in the
frame's FD have been processed. In this case, it is not necessary to have encountered
an entry with the F bit set and it is not considered an error when this occurs.
that refer to a specific buffer have special meaning; OFFSET specifies the byte offset
from ADDR where the accelerator should start storing data and LENGTH gives the
number of bytes of data which can be stored in the remainder of the buffer.
Consider the following when using compound frames:
• When multiple input or output frames are described by a compound frame, their
order is consumer-dependent.
• If a compound frame is used to pass empty buffers to a consumer for its output, those
buffers are in the first frame of the compound frame.
• If a module uses a compound frame to return the input frame as well as its output
frame, the output frame is the first frame of the compound frame and the input frame
is the second frame.
By using different ICIDs, a single hardware module can perform memory accesses on
behalf of different requestors with the mapping and access controls appropriate to that
requestor.
ICID Requirements
Some important ICID requirements are as follows:
• The requestor must communicate the ICID to the hardware blockmodule. In the
DPAA, this is done using the ICID. And, this is formed by concatenating ICID and
EICID from the FD with the latter used as the 2 most significant bits(msbs).
• Because ICID is in the FD, the module can use an ICID for each frame to access the
memory.
• Some hardware module may make different types of memory accesses as a result of
dequeuing a frame. For instance, they may access per queue context/state/descriptors
as well as reading and writing frame data. These modules use the same ICID from
FD for these different types of access.
• The ICID must be set by the hypervisor. For software portals, this is done by the
QMan from values configured for the portal to ensure that accesses by hardware
module on behalf of software are controlled. In other words, software running on a
core cannot get a hardware blockmodule to make accesses to memory, because it is
not permitted to make these accesses by setting the ICID value in an FD.
In this case, the FQ ID causes the QMan to enqueue the FQ to Work Queue #5 of
logical CPU#4's dedicated channel. CPU#4 dequeues the FQ, determines the
outbound interface for the newly encrypted packet, updates the tunnel IP header, and
enqueues the frame back to QMan on a new FQ ID. This FQ ID causes the QMan to
enqueue the FQ to a channel serviced by FMan, which dequeues the FQ, transmits
one or more packets from that FQ out the appropriate mEMAC, and releases the
buffers back to BMan.
The processing pipeline used in this example is not required by the QorIQ DPAA. The
initial classification could have caused the packet to be steered toward a CPU dedicated
to fine-grained classification, or to a pool channel of CPUs, any of which could have
performed the operations described. CPU#3 could have added the ESP header and trailer
to the packet and sent it to the SEC for crypto-only processing. Following SEC
processing, the flow was steered to CPU#4, however it could have just as easily been
steered back to CPU#3, or to a pool channel. At any FQ ID transition, the relative priority
of the flow could have been elevated or reduced by enqueuing it to a different work
queue.
• Up to 64 TNUMs
• Up to 1 FMan debug flows
• Many SoC registers are only writeable when the CPU is executing in TZ
Secure World.
• Beyond basic configuration firmware which would be challenging to run
outside of TZ Secure World, running security services in TZ Secure World
is an OEM 'opt in' decision.
2. OEMs own all of the system's secrets.
• OEMs are not dependent on NXP to provision devices, and NXP is not required
to participate in the chain of trust for system manufacturing, deployment, or field
servicing.
• NXP is developing new software tools and services to support the chain of trust.
• Trust 2.1 devices do include an NXP provisioned portion of a split key. Use of
this split key is optional.
3. Trust architecture allows OEMs to define system security policies & configurations,
which cannot be changed or bypassed by attackers.
• Always perform secure boot
• Access control debug interfaces
• Detect hardware security violations
• Soft or Hard Fail reactions to security violations
4. Trust architecture protects against unauthorized modifications to developer software
and system configuration information (for example, device trees, certificates, and so
on).
• Protection consists of both prevention (secure boot) and after-the-fact detection
mechanisms (for example, runtime integrity checking).
• Secure boot detects unauthorized modifications and, when detected, prevents
the unauthorized code from executing on the device.
• Runtime integrity checking scans regions of memory for unauthorized
modifications to the contents.
5. Trust architecture allows OEMs to provision system permanent secrets, which are
protected against extraction or exposure.
• Permanent secrets continue across resets of the system, and are locked out in
response to security violations.
• Trust architecture 2.1 permanent secrets include:
• Debug Response Value (DRV)
• One-Time Programmable Master Key (OTPMK)
6. Trust architecture allows OEMs to provision system persistent secrets which survive
device resets under normal circumstances, but are capable of being cleared or
rendered unusable.
• Trust architecture 2.1 persistent secrets include:
17.3 Non-claims
It is also important for OEMs to understand the types of attacks that NXP does not claim
to prevent or strongly mitigate, so that mitigation can be taken at the system level if
necessary.
1. Stronger than the underlying crypto algorithms.
• Trust architecture's foundation rests on the strength of SHA-256, AES-256, and
RSA digital signatures. If these algorithms are found to be fundamentally
broken, most trust architecture claims are broken as well.
2. Preventing advanced physical attacks
• As noted earlier, NXP recognizes that the contents of the Security Fuse
Processor can be read by careful de-processing of the device. This attack
destroys the QorIQ Layerscape device, however cryptographic blobs protected
with the OTPMK could be recovered from system memory and decrypted.
This table shows the memory address signal mappings for DDR3 memory types.
Table 18-2. Memory Address Signal Mappings for DDR3 Memory Types
Controller Signal Name (Outputs) DRAM/DIMM Signal Name (Inputs)
msb MA15 A15
MA14 A14
MA13 A13
MA12 A12
MA11 A11
MA10 A10 (AP for DDR)
MA9 A9
MA8 A8
MA7 A7
MA6 A6
MA5 A5
MA4 A4
MA3 A3
MA2 A2
MA1 A1
lsb MA0 A0
msb MBA2 BA2
MBA1 BA1
lsb MBA0 BA0
MRAS_B RAS_B
MCAS_B CAS_B
MWE_B WE_B
msb MCS0_B CS0_B
MCS1_B CS1_B
MCS2_B CS2_B
lsb MCS3_B CS3_B
This table shows the memory address signal mappings for DDR4.
Table 18-3. Memory Address Signal Mappings for DDR4
Controller Signal Name (Outputs) DRAM/DIMM Signal Name (Inputs)
MA15/MACT_B ACT_n
MA14/MBG1 BG1
msb MA13 A13
MA12 A12
MA11 A11
MA10 A10 (AP for DDR)
MA9 A9
MA8 A8
MA7 A7
MA6 A6
MA5 A5
MA4 A4
MA3 A3
MA2 A2
MA1 A1
lsb MA0 A0
msb MBA2 BG0
MBA1 BA1
lsb MBA0 BA0
MRAS_B/MA16 RAS_n/A16
MCAS_B/MA15 CAS_n/A15
MWE_B/MA14 WE_n/A14
msb MCS0_B CS0_n
MCS1_B CS1_n
MCS2_B CS2_n
lsb MCS3_B CS3_n
MODT1 ODT1
MDM[0:3]/MDBI[0:3], DM_n[0:3]/DBI_n[0:3], DM_n[8]/DBI_n[8]
MDM8/MDBI8
MAPAR_ERR_B ALERT_n
MAPAR_OUT PAR
This table shows the register memory map for the DDR memory controller.
18.4.2.1 Offset
Register Offset
CS0_BNDS 0h
CS1_BNDS 8h
CS2_BNDS 10h
CS3_BNDS 18h
18.4.2.2 Function
The chip select bounds registers (CSn_BNDS) define the starting and ending address of
the memory space that corresponds to the individual chip selects. Note that the size
specified in CSn_BNDS should equal the size of physical DRAM. Also, note that EAn
must be greater than or equal to SAn.
If chip select interleaving is enabled, all fields in the lower interleaved chip select will be
used, and the other chip selects' bounds registers will be unused. For example, if chip
selects 0 and 1 are interleaved, all fields in CS0_BNDS will be used, and all fields in
CS1_BNDS will be unused.
18.4.2.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
SA
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
EA
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.2.4 Fields
Field Function
0-15 Starting Address.
SA Starting address for chip select (bank) n.This value is compared against the 16 msbs of the 40-bit
address.
16-31 Ending Address.
EA Ending address for chip select (bank)n. This value is compared against the 16 msbs of the 40-bit
address.
18.4.3.1 Offset
Register Offset
CS0_CONFIG 80h
CS1_CONFIG 84h
CS2_CONFIG 88h
CS3_CONFIG 8Ch
18.4.3.2 Function
The chip select configuration (CSn_CONFIG) registers enable the DDR chip selects and
set the number of row and column bits used for each chip select. These registers should
be loaded with the correct number of row and column bits for each SDRAM. Because
CSn_CONFIG[ROW_BITS_CS_n, COL_BITS_CS_n] establish address multiplexing,
the user should take great care to set these values correctly.
If chip select interleaving is enabled, then all fields in the lower interleaved chip select
will be used, and the other registers' fields will be unused, with the exception of the
ODT_RD_CFG and ODT_WR_CFG fields. For example, if chip selects 0 and 1 are
interleaved, all fields in CS0_CONFIG will be used, but only the ODT_RD_CFG and
ODT_WR_CFG fields in CS1_CONFIG will be used.
18.4.3.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
ODT_WR_CFG
ODT_RD_CFG
Reserved
Reserved
AP_EN
CS_E
W
N
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ROW_BITS_CS
COL_BITS_CS
BA_BITS_CS
BG_BITS_C
Reserved
Reserved
Reserved
W
S
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.3.4 Fields
Field Function
0 Chip Select Enable.
CS_EN Chip select nenable
0b - Chip select nis not active
1b - Chip select nis active and assumes the state set in CSn_BNDS.
1-7 Reserved.
Table continues on the next page...
Field Function
—
8 Auto Precharge Enable.
AP_EN Chip select nauto-precharge enable
0b - Chip select will only be auto-precharged if global auto-precharge mode is enabled
(DDR_SDRAM_INTERVAL[BSTOPRE] = 0).
1b - Chip select will always issue an auto-precharge for read and write transactions.
9-11 On-Die Termination Read Config.
ODT_RD_CFG ODT for reads configuration. Note that CAS latency plus additive latency must be at least 3 cycles for
ODT_RD_CFG to be enabled.
000b - Never assert ODT for reads
001b - Assert ODT only during reads to CSa
010b - Assert ODT only during reads to other chip selects
011b - Assert ODT only during reads to other DIMM modules. It is assumed that CS0 and CS1 are
on the same DIMM module, whereas CS2 and CS3 are on a separate DIMM module.
100b - Assert ODT for all reads
101b - Assert ODT only during transactions to same DIMM
110b - Assert ODT only during transactions to own CS and other DIMM.
111b - Assert ODT only during transactions to other CS in same DIMM.
12 Reserved.
—
13-15 On-Die Termination Write Config.
ODT_WR_CFG ODT for writes configuration. Note that write latency plus additive latency must be at least 3 cycles for
ODT _WR_CFG to be enabled.
000b - Never assert ODT for writes
001b - Assert ODT only during writes to CSn
010b - Assert ODT only during writes to other chip selects
011b - Assert ODT only during writes to other DIMM modules. It is assumed that CS0 and CS1 are
on the same DIMM module, whereas CS2 and CS3 are on a separate DIMM module.
100b - Assert ODT for all writes
101b - Assert ODT only during transactions to same DIMM
110b - Assert ODT only during transactions to own CS and other DIMM.
111b - Assert ODT only during transactions to other CS in same DIMM.
16-17 Bank Address Bits.
BA_BITS_CS Number of bank bits for SDRAM on chip selectn. These bits correspond to the sub-bank bits driven on
MBAn. Note that if DDR4 is used, this must be set to 00, as 8 sub-banks are not supported when also
using bank groups.
00b - 2 logical bank bits
01b - Reserved
10b - Reserved
11b - Reserved
18-20 Reserved.
—
21-23 Row Bits.
ROW_BITS_CS Number of row bits for SDRAM on chip selectn.
000b - 12 row bits
001b - 13 row bits
010b - 14 row bits
011b - 15 row bits
Table continues on the next page...
Field Function
100b - 16 row bits
101b - 17 row bits
110b - 18 row bits
111b - Reserved
24-25 Reserved.
—
26-27 Bank Group Bits.
BG_BITS_CS Number of bank group bits for SDRAM on chip selectn. In addition, it is illegal to use BA_BITS_CS_n
equal to 01 if DDR4 bank groups are used.
00b - 0 bank group bits
01b - 1 bank group bit
10b - 2 bank group bits
11b - Reserved
28 Reserved.
—
29-31 Column Bits.
COL_BITS_CS Number of column bits for SDRAM on chip selectn. The decoding is as follows:
000b - 8 column bits
001b - 9 column bits
010b - 10 column bits
011b - 11 column bits
100b - Reserved
101b - Reserved
110b - Reserved
111b - Reserved
18.4.4.1 Offset
Register Offset
TIMING_CFG_3 100h
18.4.4.2 Function
DDR SDRAM timing configuration register 3 sets the extended refresh recovery time,
which is combined with TIMING_CFG_1[REFREC] to determine the full refresh
recovery time.
18.4.4.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
EXT_PRETOACT
EXT_ACTTOPRE
EXT_ACTTORW
EXT_REFRE
Reserved
Reserved
Reserved
W
C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R EXT_ADD_LAT
EXT_CASLAT
EXT_WRRE
CNTL_ADJ
Reserved
Reserved
Reserved
Reserved
W
Reset 0 0 0 0 0 0 0 C 0 0 0 0 0 0 0 0 0
18.4.4.4 Fields
Field Function
0-2 Reserved.
—
3 Extended Precharge to Activate.
EXT_PRETOAC Extended precharge-to-activate interval (tRP). Determines the number of clock cycles from a precharge
T command until an activate or refresh command is allowed. This field is concatenated with
TIMING_CFG_1[PRETOACT] to obtain a 5-bit value for the total precharge to activate time.
0b - 0 clocks
1b - 16 clocks
4-5 Reserved.
—
6-7 Extended Activate to Precharge.
EXT_ACTTOPR Extended Activate to precharge interval ( tR A S ). Determines the number of clock cycles from an activate
E command until a precharge command is allowed. This field is concatenated with
TIMING_CFG_1[ACTTOPRE] to obtain a 6-bit value for the total activate to precharge. Note that a 6-bit
value of 00_0000 is the same as a 6-bit value of 01_0000. Both values represent 16 cycles.
00b - 0 clocks
01b - 16 clocks
10b - 32 clocks
11b - 48 clocks
8 Reserved.
—
Field Function
9 Extended Activate to Read/Write.
EXT_ACTTOR Extended activate to read/write interval for SDRAM (tRCD). Controls the number of clock cycles from an
W activate command until a read or write command is allowed. This field is concatenated with
TIMING_CFG_1[ACTTORW] to obtain a 5-bit value for the total activate to read/write time.
10-15 Extended Refresh Recovery.
EXT_REFREC Extended refresh recovery time ( tRFC). Controls the number of clock cycles from a refresh command until
an activate command is allowed. This field is concatenated with TIMING_CFG_1[REFREC] to obtain a
10-bit value for the total refresh recovery. Note that hardware adds an additional 8 clock cycles to the
final, 10-bit value of the refresh recovery, such that tRFC is calculated as follows: tRFC = {EXT_REFREC ||
REFREC} + 8. (Settings greater than 101111b are reserved.)
All values of less than 0b110000 are legal; in this case the number of cycles is [setting] × 16. Sample
values are shown below. Settings of 0b110000 or greater are reserved.
000000b - 0 clocks
000001b - 16 clocks
000010b - 32 clocks
101110b - 736 clocks
101111b - 752 clocks
110000-111111b - Reserved
16-17 Reserved.
—
18-19 Extended CAS Latency.
EXT_CASLAT Number of clock cycles between registration of a READ command by the SDRAM and the availability of
the first output data. If a READ command is registered at clock edge n and the latency is m clocks, data is
available nominally coincident with clock edge n + m. This field is concatenated with
TIMING_CFG_1[CASLAT] to obtain a 5-bit value for the total CAS latency. Note that the value of this field
is added to the programmed value in TIMING_CFG_1[CASLAT]. The largest total CAS latency supported
is 20 clocks.
00b - 0 clocks
01b - 8 clocks
10b - 16 clocks
11b - Reserved
20 Reserved
—
21 Extended Additive Latency.
EXT_ADD_LAT The additive latency must be set to a value less than TIMING_CFG_1[ACTTORW]. Note that the value of
this field is added to the programmed value in TIMING_CFG_2[ADD_LAT]. The largest total additive
latency supported is 19 clocks.
0b - 0 clocks
1b - 16 clocks
22 Reserved.
—
23 Extended Write Recovery.
EXT_WRREC Extended last data to precharge minimum interval (tWR). Determines the number of clock cycles from the
last data associated with a write command until a precharge command is allowed. If
DDR_SDRAM_CFG_2[OBC_CFG] is set, then this field needs to be programmed to (tWR + 2 cycles).
This field is concatenated with TIMING_CFG_1[WRREC] to obtain a 5-bit value for the total write
recovery time.
0b - 0 clocks
Table continues on the next page...
Field Function
1b - 16 clocks
24-28 Reserved.
—
29-31 Control Adjust.
CNTL_ADJ Controls the amount of delay to add to the lightly loaded control signals with respect to all other DRAM
address and command signals. The signals affected by this field are MODTn, MCSn_B, and MCKEn.
000b - MODTn, MCSn_B, and MCKEn will be launched aligned with the other DRAM address and
control signals.
001b - MODTn, MCSn_B, and MCKEn will be launched 1/4 DDR clock cycle later than the other
DRAM address and control signals.
010b - MODTn, MCSn_B, and MCKEn will be launched 1/2 DDR clock cycle later than the other
DRAM address and control signals.
011b - MODTn, MCSn_B, and MCKEn will be launched 3/4 DDR clock cycle later than the other
DRAM address and control signals.
100b - MODTn, MCSn_B, and MCKEn will be launched 1 DDR clock cycle later than the other
DRAM address and control signals.
101b - MODTn, MCSn_B, and MCKEn will be launched 5/4 DDR clock cycles later than the other
DRAM address and control signals.
110b - Reserved
111b - Reserved
18.4.5.1 Offset
Register Offset
TIMING_CFG_0 104h
18.4.5.2 Function
DDR SDRAM timing configuration register 0 sets the number of clock cycles between
various SDRAM control commands.
18.4.5.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
RWT WRT RRT WWT ACT_PD_EXIT PRE_PD_EXIT
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
EXT_PRE_PD_EXI
MRS_CYC
Reserved
W
T
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
18.4.5.4 Fields
Field Function
0-1 Read-to-write Turnaround.
RWT Specifies how many extra cycles will be added between a read to write turnaround. If 0 clocks is chosen,
then the DDR controller will use a fixed number based on the CAS latency and write latency. Choosing a
value other than 0 adds extra cycles past this default calculation. As a default the DDR controller will
determine the read-to-write turnaround as CL - WL + BL/2 + 2. In this equation, CL is the CAS latency
rounded up to the next integer, WL is the programmed write latency, and BL is the burst length. This field
is concatenated with TIMING_CFG_4[EXT_RWT] to obtain a 4-bit value for the total read-to-write
turnaround
00b - 0 clocks
01b - 1 clock
10b - 2 clocks
11b - 3 clocks
2-3 Write-to-read Turnaround.
WRT Specifies how many extra cycles will be added between a write to read turnaround. If 0 clocks is chosen,
then the DDR controller will use a fixed number based on the, read latency, and write latency. Choosing a
value other than 0 adds extra cycles past this default calculation. As a default, the DDR controller will
determine the write-to-read turnaround as WL - CL + BL/2 + 1. In this equation, CL is the CAS latency
rounded down to the next integer, WL is the programmed write latency, and BL is the burst length. This
field is concatenated with TIMING_CFG_4[EXT_WRT] to obtain a 3-bit value for the total write-to-read
turnaround
00b - 0 clocks
01b - 1 clock
10b - 2 clocks
11b - 3 clocks
4-5 Read-to-read Turnaround.
RRT
Table continues on the next page...
Field Function
Specifies how many extra cycles will be added between reads to different chip selects. As a default, 3
cycles will be required between read commands to different chip selects. Extra cycles may be added with
this field. Note: If 8-beat bursts are enabled, then 5 cycles will be the default. This field is concatenated
with TIMING_CFG_4[EXT_RRT] to obtain a 3-bit value for the total read-to-read turnaround.
00b - 0 clocks
01b - 1 clock
10b - 2 clocks
11b - 3 clocks
6-7 Write-to-write Turnaround.
WWT Specifies how many extra cycles will be added between writes to different chip selects. As a default, 2
cycles will be required between write commands to different chip selects. Extra cycles may be added with
this field. Note: If 8-beat bursts are enabled, then 4 cycles will be the default. This field is concatenated
with TIMING_CFG_4[EXT_WWT] to obtain a 3-bit value for the total write-to-write turnaround
00b - 0 clocks
01b - 1 clock
10b - 2 clocks
11b - 3 clocks
8-11 Active Powerdown Exit.
ACT_PD_EXIT Active powerdown exit timing (tXP). Specifies how many clock cycles to wait after exiting active
powerdown before issuing any command.
0000b - Reserved
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
12-15 Precharge Powerdown Exit.
PRE_PD_EXIT Precharge powerdown exit timing (tXP). Specifies how many clock cycles to wait after exiting precharge
powerdown before issuing any command. This field is concatenated with
TIMING_CFG_0[EXT_PRE_PD_EXIT] to obtain a 6-bit value for the total precharge powerdown exit
timing.
0000b - Reserved
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
Table continues on the next page...
Field Function
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
16-17 Extended Precharge Powerdown Exit.
EXT_PRE_PD_ Extended precharge powerdown exit timing (tXP). Specifies how many clock cycles to wait after exiting
EXIT precharge powerdown before issuing any command. Note the decoding for this field is not a straight
decode. This field is concatenated with TIMING_CFG_0[PRE_PD_EXIT] to obtain a 6-bit value for the
total precharge powerdown exit timing.
00b - 0 clocks
01b - 16 clocks
10b - 32 clocks
11b - 48 clocks
18-26
—
27-31 Mode Register Set Cycle Time.
MRS_CYC Mode register set cycle time (tMRD, tMOD). Specifies the number of cycles that must pass after a Mode
Register Set command until any other command. This should be set to the greater of tMRD and tMOD). If
command/address latency (CAL) mode is used for DDR4, then this field should be set to the greater of
tMRD_CAL and tMOD_CAL). In addition, this field should be programmed higher than
TIMING_CFG_7[CS_TO_CMD] if using CAL mode.
00000b - Reserved
00001b - 1 clock
00010b - 2 clocks
00011b - 3 clocks
00100b - 4 clocks
00101b - 5 clocks
00110b - 6 clocks
00111b - 7 clocks
01000b - 8 clocks
01001b - 9 clocks
01010b - 10 clocks
01011b - 11 clocks
01100b - 12 clocks
01101b - 13 clocks
01110b - 14 clocks
01111b - 15 clocks
10000b - 16 clocks
10001b - 17 clocks
10010b - 18 clocks
10011b - 19 clocks
10100b - 20 clocks
10101b - 21 clocks
10110b - 22 clocks
10111b - 23 clocks
11000b - 24 clocks
11001b - 25 clocks
11010b - 26 clocks
11011b - 27 clocks
11100b - 28 clocks
11101b - 29 clocks
11110b - 30 clocks
11111b - 31 clocks
18.4.6.1 Offset
Register Offset
TIMING_CFG_1 108h
18.4.6.2 Function
DDR SDRAM timing configuration register 1 sets the number of clock cycles between
various SDRAM control commands.
18.4.6.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
PRETOACT
ACTTOPRE
ACTTORW
CASLAT
RSRV
W
D
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
REFREC WRREC ACTTOACT WRTORD
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.6.4 Fields
Field Function
0-3 Precharge-to-Activate.
PRETOACT Precharge-to-activate interval (tRP). Determines the number of clock cycles from a precharge command
until an activate or refresh command is allowed. This field is concatenated with
TIMING_CFG_3[EXT_PRETOACT] to obtain a 5-bit value for the total precharge to activate time.
0000b - Reserved
0001b - 1 clock
0010b - 2 clocks
Table continues on the next page...
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
NXP Semiconductors 715
DDR register descriptions
Field Function
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
4-7 Activate-to-Precharge.
ACTTOPRE Activate to precharge interval (tRAS). Determines the number of clock cycles from an activate command
until a precharge command is allowed. This field is concatenated with
TIMING_CFG_3[EXT_ACTTOPRE] to obtain a 6-bit value for the total activate to precharge time. Note
that the decode of 0000-0011 is equal to 16-19 clocks when TIMING_CFG_3[EXT_ACTTOPRE] = 00,
but it is equal to 0-3 clocks when TIMING_CFG_3[EXT_ACTTOPRE] = 01, 10, or 11.
0000b - 16 clocks
0001b - 17 clocks
0010b - 18 clocks
0011b - 19 clocks
0100b - 4 clock
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
8-11 Activate-to-Read/Write.
ACTTORW Activate to read/write interval for SDRAM (tRCD). Controls the number of clock cycles from an activate
command until a read or write command is allowed. This field is concatenated with
TIMING_CFG_3[EXT_ACTTORW] to obtain a 5-bit value for the total activate to read/write time.
0000b - Reserved
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
Table continues on the next page...
Field Function
1111b - 15 clocks
12-14 CAS Latency.
CASLAT Number of clock cycles between registration of a READ command by the SDRAM and the availability of
the first output data. If a READ command is registered at clock edge n and the latency is m clocks, data is
available nominally coincident with clock edge n + m. This field is concatenated with
TIMING_CFG_3[EXT_CASLAT] to obtain a 5-bit value for the total CAS latency. This value must be
programmed at initialization as described in DDR SDRAM control configuration 2 (DDR_SDRAM_CFG_
2)) Note that the largest total CAS latency supported is 20 clocks.
000b - 1 clock
001b - 2 clocks
010b - 3 clocks
011b - 4 clocks
100b - 5 clocks
101b - 6 clocks
110b - 7 clocks
111b - 8 clocks
15 Reserved.
RSRVD This bit is reserved, but it is readable and writeable.
16-19 Refresh recovery.
REFREC Refresh recovery time (tRFC). Controls the number of clock cycles from a refresh command until an
activate command is allowed. This field is concatenated with TIMING_CFG_3[EXTREFREC] to obtain a
10-bit value for the total refresh recovery. Note that hardware adds an additional 8 clock cycles to the
final, 10-bit value of the refresh recovery, such that tRFC is calculated as follows: tRFC = {EXT_REFREC ||
REFREC} + 8.
0000b - 8 clocks
0001b - 9 clocks
0010b - 10 clocks
0011b - 11 clocks
1111b - 23 clocks
20-23 Write recovery.
WRREC Last data to precharge minimum interval (tWR). Determines the number of clock cycles from the last data
associated with a write command until a precharge command is allowed. If
DDR_SDRAM_CFG_2[OBC_CFG] is set, then this field needs to be programmed to (tWR + 2 cycles).
This field is concatenated with TIMING_CFG_3[EXT_WRREC] to obtain a 5-bit value for the total write
recovery time.
0000b - Reserved
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
24-27 Activate-to-activate.
Table continues on the next page...
Field Function
ACTTOACT Activate-to-activate interval (tRRD). Number of clock cycles from an activate command until another
activate command is allowed for a different logical bank in the same physical bank (chip select).
0000b - Reserved
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
28-31 Write-to-read.
WRTORD Last write data pair to read command issue interval (tWTR). Number of clock cycles between the last write
data pair and the subsequent read command to the same physical bank. If
DDR_SDRAM_CFG_2[OBC_CFG] is set, then this field needs to be programmed to (tWTR + 2 cycles).
0000b - Reserved
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
18.4.7.1 Offset
Register Offset
TIMING_CFG_2 10Ch
18.4.7.2 Function
DDR SDRAM timing configuration 2 sets the clock delay to data for writes.
18.4.7.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
EXT_WR_LAT
RD_TO_PR
ADD_LAT
WR_LAT
Reserved
Reserved
W
E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
WR_DATA_DELAY
FOUR_ACT
RD_TO_PR
CKE_PL
W
S
E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.7.4 Fields
Field Function
0-3 Additive Latency.
ADD_LAT The additive latency must be set to a value less than TIMING_CFG_1[ACTTORW]. This field is added to
TIMING_CFG_3]EXT_ADD_LAT]. The maximum total additive latency supported is 19 clocks.
0000b - 0 clocks
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
Table continues on the next page...
Field Function
1111b - Reserved
4-8 Reserved.
—
9-12 Write Latency.
WR_LAT Note that the total write latency is equal to WR_LAT + ADD_LAT. Note that the total write latency must be
at least 6 cycles if using unbuffered DIMMs in 1T timing mode. Note that this field is added to
TIMING_CFG_2[EXT_WR_LAT]. The maximum write latency supported before adding the additive
latency is 18 clocks. Note that values of 0b0000 to 0b0101 are reserved unless
TIMING_CFG_2[EXT_WR_LAT] is programmed to a non-zero value.
0000b - 0 clocks
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
13 Extended Write Latency.
EXT_WR_LAT Note that the value of this field is added to the programmed value in TIMING_CFG_2[WR_LAT]. The
largest total write latency supported before adding the additive latency is 18 clocks.
0b - 0 clocks
1b - 16 clocks
14 Reserved.
—
15-18 Read-to-Precharge.
RD_TO_PRE Read to precharge (tRTP). If DDR_SDRAM_CFG_2[OBC_CFG] is set, then this field needs to be
programmed to (tRTP + 2 cycles).
0000b - Reserved
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
Field Function
19-22 Write Data Delay.
WR_DATA_DEL Write command to write data strobe timing adjustment. Controls the amount of delay applied to the data
AY and data strobes for writes. See DDR SDRAM Write Timing Adjustments for details. The write preamble
will be driven high for 1/2 DRAM cycle, and then it will be driven low for 1/2 DRAM cycle.
0000b - 0 clock delay
0001b - 2 clock delay
0010b - 1/4 clock delay
0011b - 9/4 clock delay
0100b - 1/2 clock delay
0101b - 5/2 clock delay
0110b - 3/4 clock delay
0111b - Reserved
1000b - 1 clock delay
1001b - Reserved
1010b - 5/4 clock delay
1011b - Reserved
1100b - 3/2 clock delay
1101b - Reserved
1110b - 7/4 clock delay
1111b - Reserved
23-25 CKE Pulse.
CKE_PLS Minimum CKE pulse width (tCKE). This field is concatenated with TIMING_CFG_3[EXT_CKE_PLS] to
obtain a 4-bit value for the total minimum CKE pulse width.
000b - 8 clocks
001b - 1 clock
010b - 2 clocks
011b - 3 clocks
100b - 4 clocks
101b - 5 clocks
110b - 6 clocks
111b - 7 clocks
26-31 Four Activate.
FOUR_ACT Window for four activates (tFAW).
NOTE: If tFAW requires FOUR_ACT to be set higher than the supported values, then
TIMING_CFG_1[ACTTOACT] should be programmed to avoid a tFAW violation. This can be done
by programming -> TIMING_CFG_1[ACTTOACT] = rounded_up[max(tRRD{_S}, tFAW/4)].
000000b - Reserved
000001b - 1 cycle
000010b - 2 cycles
000011b - 3 cycles
000100b - 4 cycles
011111b - 31 cycles
100000b - 32 cycles
18.4.8.1 Offset
Register Offset
DDR_SDRAM_CFG 110h
18.4.8.2 Function
The DDR SDRAM control configuration register enables the interface logic and specifies
certain operating features such as self refreshing, error checking and correcting, and
dynamic power management.
18.4.8.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
SDRAM_TYPE
DYN_PWR
MEM_EN
Reserved
Reserved
Reserved
Reserved
T3_EN
ECC_E
DBW
SRE
BE_
W
N
8
N
Reset 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
BA_INTLV_CTL
ACC_ECC_EN
MEM_HALT
Reserved
T2_EN
HS
BI
W
E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.8.4 Fields
Field Function
0 Memory Controller Enable.
0b - SDRAM interface logic is disabled.
MEM_EN
1b - SDRAM interface logic is enabled. Must not be set until all other memory configuration
parameters have been appropriately configured by initialization code.
1 Self Refresh Enable.
SREN
Table continues on the next page...
Field Function
0b - SDRAM self refresh is disabled during sleep. Whenever self-refresh is disabled, the system is
responsible for preserving the integrity of SDRAM during sleep.
1b - SDRAM self refresh is enabled during sleep.
2 ECC Enable.
ECC_EN Note that uncorrectable read errors may cause an interrupt.
NOTE: If this bit is set to 1, DDR_SDRAM_CFG[ACC_ECC_EN] must be set to 1 as well.
0b - No ECC errors are reported. No ECC interrupts are generated.
1b - ECC is enabled.
3 Reserved.
—
4 Reserved.
—
5-7 SDRAM Type.
SDRAM_TYPE Type of SDRAM device to be used. This field will be used when issuing the automatic hardware
initialization sequence to DRAM via Mode Register Set and Extended Mode Register Set commands.
Default value is 111.
000-100 Reserved
101 DDR4 SDRAM
110 Reserved
111 DDR3-type SDRAM
8-9 Reserved.
—
10 Dynamic Power Management.
0b - Dynamic power management mode is disabled.
DYN_PWR
1b - Dynamic power management mode is enabled. If there is no ongoing memory activity, the
SDRAM CKE signal is negated.
11-12 DRAM Data Bus Width.
00b - Reserved
DBW
01b - 32-bit bus is used.
10b - 16-bit bus is used.
11b - Reserved
13 8-Beat Burst Enable.
0b - 4-beat bursts are used on the DRAM interface. This is only supported if
BE_8
DDR_SDRAM_CFG_2[OBC_CFG] is also set.
1b - 8-beat bursts are used on the DRAM interface.
14 Reserved.
—
15 3T Timing Enable.
T3_EN This field cannot be set if DDR_SDRAM_CFG[T2_EN] is also set. This field cannot be used with a 32-bit
bus or a 16-bit bus if 4-beat bursts are used.
NOTE: 3T timing may not be used with 4-beat bursts, unless DDR_SDRAM_CFG_2[OBC_CFG] is set.
0b - 1T timing is enabled if T2_EN is cleared. The DRAM command/address are held for only 1
cycle on the DRAM bus.
1b - 3T timing is enabled. The DRAM command/address are held for 3 full cycles on the DRAM bus
for every DRAM transaction. However, the chip select is only held for the third cycle.
16 2T Timing Enable.
Table continues on the next page...
Field Function
T2_EN This field should not be set if DDR_SDRAM_CFG[T3_EN] is set.
0b - 1T timing is enabled if T3_EN is cleared. The DRAM command/address are held for only 1
cycle on the DRAM bus.
1b - 2T timing is enabled. The DRAM command/address are held for 2 full cycles on the DRAM bus
for every DRAM transaction. However, the chip select is only held for the second cycle.
17-23 Bank (chip select) interleaving control.
BA_INTLV_CTL Set this field only when using bank interleaving.
('x' denotes a don't care bit value. All unlisted field values are reserved.)
0000000 No external memory banks are interleaved
1000000 External memory banks 0 and 1 are interleaved
0100000 External memory banks 2 and 3 are interleaved
1100000 External memory banks 0 and 1 are interleaved together and banks 2 and 3 are interleaved
together
xx00100 External memory banks 0 through 3 are all interleaved together
24-27 Reserved.
—
28 Half-Strength Enable.
HSE Sets I/O driver impedance to calibrate to half strength. This calibrated impedance will be used by the
MDIC, address/command, data, and clock impedance values, but only if automatic hardware calibration is
enabled and the corresponding group's software override is disabled in the DDR control driver register(s)
described in DDR Control Driver Register 1 (DDRCDR_1) and DDR Control Driver Register 2 (DDRCDR_
2)
0b - I/O driver impedance will be calibrated to full strength.
1b - I/O driver impedance will be calibrated to half strength.
29 Accumulated ECC enable.
ACC_ECC_EN This can be used to save ECC pins/wires when using a DDR data bus width smaller than 64-bits. In this
mode, the 8-bit ECC code will be transmitted/received across several beats, and it will be used to check
64-bits of data once 8-bits of ECC are accumulated. Note that using this mode guarantees that all single-
bit ECC errors are corrected and detected for every 64-bits of data, and every 2-bit ECC error is detected
for 64-bits of data. Unused ECC bits are driven high by the memory controller during write bursts if
ACC_ECC_EN is set.
NOTE: This bit must be set to 1 when ECC is enabled.
0b - Accumulated ECC is disabled
1b - Accumulated ECC is enabled
30 Memory Controller Halt.
MEM_HALT DDR memory controller halt. When this bit is set, the memory controller will not accept any new data
read/write transactions to DDR SDRAM until the bit is cleared again. This can be used when bypassing
initialization and forcing MODE REGISTER SET commands through software.
Field Function
1b - Initialization routine will be bypassed. Software is responsible for initializing memory through
DDR_SDRAM_MD_CNTL register. If software is initializing memory, then the MEM_HALT bit can
be set to prevent the DDR controller from issuing transactions during the initialization sequence.
Note that the DDR controller will not issue a DLL reset to the DRAMs when bypassing the
initialization routine, regardless of the value of DDR_SDRAM_CFG[DLL_RST_DIS]. If a DLL reset
is required, then the controller should be forced to enter and exit self refresh after the controller is
enabled.
18.4.9.1 Offset
Register Offset
DDR_SDRAM_CFG_2 114h
18.4.9.2 Function
The DDR SDRAM control configuration register 2 provides more control configuration
for the DDR controller.
18.4.9.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ODT_CFG
Reserved
Reserved
Reserved
FRC_S
W
R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
UNQ_MRS_EN
DDR_SLOW
SPARE_CNF
OBC_CFG
NUM_PR
Reserved
Reserved
Reserved
CD_DIS
QD_EN
MD_EN
AP_EN
D_INIT
W
G
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.9.4 Fields
Field Function
0 Force Self Refresh.
0b - DDR controller will operate in normal mode.
FRC_SR
1b - DDR controller will enter self-refresh mode.
1 Reserved
—
2-8 Reserved.
—
9-10 ODT configuration.
ODT_CFG This field defines how ODT will be driven to the on-chip IOs. See DDR Control Driver Register 1 (DDRC
DR_1) and DDR Control Driver Register 2 (DDRCDR_2) which define the termination value that will be
used.
00b - Never assert ODT to internal IOs
01b - Reserved
10b - Assert ODT to internal IOs only during reads to DRAM
11b - Reserved
11-15 Reserved.
—
16-19 Number of posted refreshes.
NUM_PR This will determine how many posted refreshes, if any, can be issued at one time. Note that if posted
refreshes are used, then this field, along with DDR_SDRAM_INTERVAL[REFINT], must be programmed
such that the maximum tras specification cannot be violated.
Patterns not shown are reserved.
0000b - Reserved
0001b - 1 refresh will be issued at a time
0010b - 2 refreshes will be issued at a time
0011b - 3 refreshes will be issued at a time
1000b - 8 refreshes will be issued at a time
20 DDR Slow Frequency.
DDR_SLOW Indicates to the controller if it will be run at a lower frequency.
0b - The DDR controller will be run at data rates of 1250 MT/s or higher.
1b - The DDR controller will be run at data rates of less than 1250 MT/s.
21 Reserved
—
22 Quad-Rank Enable.
QD_EN Determines if a quad-ranked DIMM is used. This bit should also be set if quad-stacked discrete memory
chips are used.
0b - Quad-ranked DIMMs are not used.
1b - Quad-ranked DIMMs are used.
23 Unique MRS Enable.
UNQ_MRS_EN
Table continues on the next page...
Field Function
Determines if the DDR_SDRAM_MODE_{3:8} and DDR_SDRAM_MODE_{11:16} registers will be used
when initializing the memories for chip selects 1, 2, and 3. These can be used to provide unique values to
the Mode Registers of the DRAM to allow different termination values for each rank.
24
—
25 On-The-Fly Burst Chop Configuration.
OBC_CFG Determines if on-the-fly Burst Chop will be used. If on-the-fly Burst Chop mode is not used, then 8-beat
burst mode should be used. DDR_SDRAM_CFG[BE_8] should be cleared for on-the-fly Burst Chop
mode.
0b - On-the-fly Burst Chop mode is disabled. Fixed burst lengths as defined in
DDR_SDRAM_CFG[BE_8] are used.
1b - On-the-fly Burst Chop mode will be used. DDR_SDRAM_CFG[BE_8] should be cleared for on-
the-fly Burst Chop mode. DDR_SDRAM_CFG[DBW] should also be programmed for 64-bit bus or
32-bit bus.
26 Address Parity Enable.
AP_EN Determines if address parity will be generated and checked for the address and control signals . If
address parity is used, the MAPAR_OUT and MAPAR_ERR_B pins will be used to drive the parity bit and
to receive errors from the open-drain parity error signal. Even parity will be used, and parity will be
generated for the MA[15:0], MBA[2:0], MRAS_B, MCAS_B, MWE_B signals. Parity will not be generated
for the MODTn, MCSn_B, and MCKEn signals. Note that address parity should not be used for non-zero
values of TIMING_CFG_3[CNTL_ADJ].
0b - Address parity will not be used
1b - Address parity will be used
27 DRAM data initialization.
D_INIT This bit is set by software, and it is cleared by hardware. If software sets this bit before the memory
controller is enabled, the controller will automatically initialize DRAM after it is enabled. This bit will be
automatically cleared by hardware once the initialization is completed. This data initialization bit should
only be set when the controller is idle.
0b - There is not data initialization in progress, and no data initialization is scheduled
1b - The memory controller will initialize memory once it is enabled. This bit will remain asserted
until the initialization is complete. The value in DDR_DATA_INIT register will be used to initialize
memory.
28 Spare Config Bits.
SPARE_CNFG This field is currently unused.
29 Reserved
—
30 Corrupted Data Disable.
CD_DIS If this bit is set, then the corrupted data feature will be disabled. When the corrupted data feature is
enabled, the DDR controller will inverted the generated ECC code for any beat of data which is known to
have corrupted data. When a read to the corrupted data is later generated, the ERR_DETECT[CDE] error
will be set if error reporting is enabled.
0b - Corrupted data is enabled
1b - Corrupted data is disabled
31 Mirrored DIMM Enable.
MD_EN Some DIMMs will be mirrored, where certain MA and MBA pins are mirrored on one side of the DIMM.
When this bit is set, the controller will know to swap these signals before transmitting to the DRAM. The
controller will assume that CS1 and CS3 are the 'mirrored' ranks of memory.
The following signals are mirrored for DDR3:
Field Function
• MBA[0] vs. MBA[1]
• MA[3] vs. MA[4]
• MA[5] vs. MA[6]
• MA[7] vs. MA[8]
Note that MBG0 is the same as MBA[2] from the DDR controller. If using mirrored DIMMs for DDR4
mode, then CS0 and CS1 must be programmed to use the same number of bank group bits in
CSa_CONFIG[BG_BITS_CSa]. CS2 and CS3 must also be programmed to use the same number of
bank group bits.
0b - Mirrored DIMMs are not used
1b - Mirrored DIMMs are used
18.4.10.1 Offset
Register Offset
DDR_SDRAM_MODE 118h
18.4.10.2 Function
The DDR SDRAM mode configuration register sets the values loaded into the DDR's
mode registers.
18.4.10.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
SDMODE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.10.4 Fields
Field Function
0-15 Extended SDRAM mode.
ESDMODE Specifies the initial value loaded into the DDR SDRAM extended mode register. The range and meaning
of legal values is specified by the DDR SDRAM manufacturer.
When this value is driven onto the address bus (during the DDR SDRAM initialization sequence), MA[0]
presents the lsb of ESDMODE, which, in the big-endian convention shown here, corresponds to
ESDMODE[15]. The msb of the SDRAM extended mode register value must be stored at ESDMODE[0].
The value programmed into this field is also used for writing MR1 during write leveling for DDR3 memory
types, although the bits specifically related to the write leveling scheme are handled automatically by the
DDR controller. Even if DDR_SDRAM_CFG[BI] is set, this field is still used during write leveling. The
write leveling enable bit should be cleared by software in this field.
16-31 SDRAM mode.
SDMODE Specifies the initial value loaded into the DDR SDRAM mode register. The range of legal values is
specified by the DDR SDRAM manufacturer.
When this value is driven onto the address bus (during DDR SDRAM initialization), MA[0] presents the
lsb of SDMODE, which, in the big-endian convention, corresponds to SDMODE[15]. The msb of the
SDRAM mode register value must be stored at SDMODE[0]. Because the memory controller forces
SDMODE[7] to certain values depending on the state of the initialization sequence, (for resetting the
SDRAM's DLL) the corresponding bits of this field are ignored by the memory controller. Note that
SDMODE[7] is mapped to MA[8].
18.4.11.1 Offset
Register Offset
DDR_SDRAM_MODE_2 11Ch
18.4.11.2 Function
The DDR SDRAM mode 2 configuration register sets the values loaded into the DDR's
extended mode 2 and 3 registers.
18.4.11.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE2
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ESDMODE3
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.11.4 Fields
Field Function
0-15 Extended SDRAM mode 2.
ESDMODE2 Specifies the initial value loaded into the DDR SDRAM extended 2 mode register. The range and
meaning of legal values is specified by the DDR SDRAM manufacturer.
When this value is driven onto the address bus (during the DDR SDRAM initialization sequence), MA[0]
presents the lsb bit of ESDMODE2, which, in the big-endian convention shown here, corresponds to
ESDMODE2[15]. The msb of the SDRAM extended mode 2 register value must be stored at
ESDMODE2[0].
16-31 Extended SDRAM mode 3.
ESDMODE3 Specifies the initial value loaded into the DDR SDRAM extended 3 mode register. The range of legal
values of legal values is specified by the DDR SDRAM manufacturer.
When this value is driven onto the address bus (during DDR SDRAM initialization), MA[0] presents the
lsb of ESDMODE3, which, in the big-endian convention shown here, corresponds to ESDMODE3[15].
The msb of the SDRAM extended mode 3 register value must be stored at ESDMODE3[0].
18.4.12.1 Offset
Register Offset
DDR_SDRAM_MD_CNT 120h
L
18.4.12.2 Function
The DDR SDRAM mode control register allows the user to carry out the following tasks:
Issue a mode register set command to a particular chip select
Issue an immediate refresh to a particular chip select
Issue an immediate precharge or precharge all command to a particular chip select
Force the CKE signals to a specific value
Note that MD_EN, SET_REF, and SET_PRE are mutually exclusive; only one of these
fields can be set at a time.
This table shows how DDR_SDRAM_MD_CNTL fields should be set for each of the
tasks described above.
Table 18-6. Settings of DDR_SDRAM_MD_CNTL Fields
Field Mode Register Set Refresh Precharge Clock Enable Signals Control
MD_EN 1 0 0 -
SET_REF 0 1 0 -
SET_PRE 0 0 1 -
CS_SEL Chooses chip select (CS) -
MD_SEL Select mode register. - Selects logical bank and -
bank group
MD_VALUE Value written to mode register - Only bit 7 is significant. -
CKE_CNTL 0 0 0
18.4.12.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CKE_CNTL
MD_VALUE
SET_RE
Reserved
Reserved
SET_PR
MD_EN
CS_SE
MD_SE
W
L
E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
MD_VALUE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.12.4 Fields
Field Function
0 Mode enable.
MD_EN Setting this bit specifies that valid data in MD_VALUE is ready to be written to DRAM as one of the
following commands:
• MODE REGISTER SET
• EXTENDED MODE REGISTER SET
• EXTENDED MODE REGISTER SET 2
• EXTENDED MODE REGISTER SET 3
The specific command to be executed is selected by setting MD_SEL. In addition, the chip select must be
chosen by setting CS_SEL.MD_EN is set by software and cleared by hardware once the command has
been issued.
0b - Indicates that no mode register set command needs to be issued.
1b - Indicates that valid data contained in the register is ready to be issued as a mode register set
command.
1-3 Select chip select.
CS_SEL Specifies the chip select that will be driven active due to any command forced by software in
DDR_SDRAM_MD_CNTL.
000b - Chip select 0 is active
001b - Chip select 1 is active
010b - Chip select 2 is active
011b - Chip select 3 is active
100b - Chip select 0 and chip select 1 are active
101b - Chip select 2and chip select 3 are active
110b - Reserved
111b - Reserved
4-7 Mode register select.
MD_SEL MD_SEL specifies one of the following:
• During a mode select command, selects the SDRAM mode register to be changed
Table continues on the next page...
Field Function
• During a precharge command, selects the SDRAM logical bank to be precharged. A precharge all
command ignores this field.
• During a refresh command, this field is ignored.
In DDR3 mode, MD_SEL[1:3] contains the value that will be presented onto the memory bank address
pins (MBAn) of the DDR controller. In DDR4 mode, MD_SEL[0:1] will represent the value on MBG[1:0],
and MD_SEL[2:3] will represent the value on MBA[1:0].
0000b - MR
0001b - EMR
0010b - EMR2
0011b - EMR3
8 Set refresh.
SET_REF Forces an immediate refresh to be issued to the chip select specified by
DDR_SDRAM_MD_CNTL[CS_SEL]. This bit will be set by software and cleared by hardware once the
command has been issued.
0b - Indicates that no refresh command needs to be issued.
1b - Indicates that a refresh command is ready to be issued.
9 Set precharge.
SET_PRE Forces a precharge or precharge all to be issued to the chip select specified by
DDR_SDRAM_MD_CNTL[CS_SEL]. This bit will be set by software and cleared by hardware once the
command has been issued.
0b - Indicates that no precharge all command needs to be issued.
1b - Indicates that a precharge all command is ready to be issued.
10-11 Clock enable control.
CKE_CNTL Allows software to globally clear or set the all CKE signals issued to DRAM. Once software has forced
the value driven on CKE, that value will continue to be forced until software clears the CKE_CNTL bits. At
that time, the DDR controller will continue to drive the CKE signals to the same value forced by software
until another event causes the CKE signals to change (that is, self refresh entry/exit, power down entry/
exit).
00b - CKE signals are not forced by software.
01b - CKE signals are forced to a low value by software.
10b - CKE signals are forced to a high value by software.
11b - Reserved
12 Reserved
—
13 Reserved.
—
14-31 Mode register value.
MD_VALUE This field, which specifies the value that will be presented on the memory address pins of the DDR
controller during a mode register set command, is significant only when this register is used to issue a
mode register set command or a precharge or precharge all command. Note that the 2 most significant
bits of this register are implemented for future use, but they will not currently affect the MRS commands
to the DRAM, as A[17:16] of the DRAMs MR registers are reserved.
For a mode register set command, this field contains the data to be written to the selected mode register.
For a precharge command, only bit five is significant:
000000000000000000b - Issue a precharge command; MD_SEL selects the logical bank to be
precharged
000000000000000001b - Issue a precharge all command; all logical banks are precharged
18.4.13.1 Offset
Register Offset
DDR_SDRAM_INTERV 124h
AL
18.4.13.2 Function
The DDR SDRAM interval configuration register sets the number of DRAM clock cycles
between bank refreshes issued to the DDR SDRAMs. In addition, the number of DRAM
cycles that a page is maintained after it is accessed is provided here.
18.4.13.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
REFINT
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
BSTOPR
W
E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.13.4 Fields
Field Function
0-15 Refresh interval.
REFINT
Table continues on the next page...
Field Function
Represents the number of memory bus clock cycles between refresh cycles. Depending on
DDR_SDRAM_CFG_2[NUM_PR], some number of rows are refreshed in each DDR SDRAM physical
bank during each refresh cycle. The value for REFINT depends on the specific SDRAMs used and the
interface clock frequency. Refreshes will not be issued when the REFINT is set to all 0s. This field is
concatenated with TIMING_CFG_4[EXT_REFINT] to obtain a 17-bit value for the total refresh interval.
16-17 Reserved.
—
18-31 Precharge interval.
BSTOPRE Sets the duration (in memory bus clocks) that a page is retained after a DDR SDRAM access. If
BSTOPRE is zero, the DDR memory controller uses auto-precharge read and write commands rather
than operating in page mode. This is called global auto-precharge mode.
18.4.14.1 Offset
Register Offset
DDR_DATA_INIT 128h
18.4.14.2 Function
The DDR SDRAM data initialization register provides the value that will be used to
initialize memory if DDR_SDRAM_CFG2[D_INIT] is set.
18.4.14.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
INIT_VALUE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
INIT_VALUE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.14.4 Fields
Field Function
0-31 Initialization value.
INIT_VALUE Represents the value that DRAM will be initialized with if DDR_SDRAM_CFG2[D_INIT] is set.
18.4.15.1 Offset
Register Offset
DDR_SDRAM_CLK_CN 130h
TL
18.4.15.2 Function
The DDR SDRAM clock control configuration register provides a 1/8-cycle clock
adjustment.
18.4.15.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved CLK_ADJUST Reserved
W
Reset 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.15.4 Fields
Field Function
0-4 Reserved.
—
5-9 Clock Adjust.
CLK_ADJUST 00000 Clock is launched aligned with address/command
00001 Clock is launched 1/16 applied cycle after address/command
00010 Clock is launched 1/8 applied cycle after address/command
00011 Clock is launched 3/16 applied cycle after address/command
00100 Clock is launched 1/4 applied cycle after address/command
00101 Clock is launched 5/16 applied cycle after address/command
00110 Clock is launched 3/8 applied cycle after address/command
00111 Clock is launched 7/16 applied cycle after address/command
01000 Clock is launched 1/2 applied cycle after address/command
01001 Clock is launched 9/16 applied cycle after address/command
01010 Clock is launched 5/8 applied cycle after address/command
01011 Clock is launched 11/16 applied cycle after address/command
01100 Clock is launched 3/4 applied cycle after address/command
01101 Clock is launched 13/16 applied cycle after address/command
01110 Clock is launched 7/8 applied cycle after address/command
01111 Clock is launched 15/16 applied cycle after address/command
10000 Clock is launched 1 applied cycle after address/command
10010-11110 Reserved
10-31 Reserved.
—
18.4.16.1 Offset
Register Offset
DDR_INIT_ADDR 148h
18.4.16.2 Function
The DDR SDRAM initialization address register provides the address that will be used
for the data strobe to data skew adjustment and automatic CAS_B to preamble calibration
after POR.
When the default value is used (that is, address 0x0), all chip selects are considered for
the training. If DDR_INIT_ADDR is set to any value other than the default value of
address zero, then only the first chip select will be trained. When multiple chip selects are
used and DQS/DQ skew is not common between chip selects/ranks, then the default
address value of 0x0 is be recommended to obtain the best timing margins.
After the skew adjustment, this address will contain bad ECC data. This is not important
at POR, as all of memory should be subsequently initialized if ECC is enabled (either by
software or through the use of DDR_SDRAM_CFG_2[D_INIT]).
If an HRESET_B has been issued after the DRAM is in self-refresh mode, however,
memory is not initialized, so this address should be written to using an 8- or 32-byte
transaction to avoid possible ECC errors if this address could later be accessed.
18.4.16.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
INIT_ADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
INIT_ADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.16.4 Fields
Field Function
0-31 Initialization address.
INIT_ADDR Represents the address that will be used for the data strobe to data skew adjustment and automatic CAS
to preamble calibration at POR. This address will be written to during the initialization sequence.
18.4.17.1 Offset
Register Offset
DDR_INIT_EXT_ADD 14Ch
RESS
18.4.17.2 Function
The DDR SDRAM initialization extended address register provides the extended address
that will be used for the data strobe to data skew adjustment and automatic CAS_B to
preamble calibration after POR.
18.4.17.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
UIA Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved INIT_EXT_ADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.17.4 Fields
Field Function
0 Use initialization address.
0b - Use the default address for training sequence as calculated by the controller. This will be the
UIA
first valid address in each enabled chip select.
1b - Use the initialization address programmed in DDR_INIT_ADDR and DDR_INIT_EXT_ADDR.
Field Function
1-23 Reserved.
—
24-31 Initialization extended address.
INIT_EXT_ADD Represents the extended address that will be used for the data strobe to data skew adjustment and
R automatic CAS_B to preamble calibration at POR. This extended address will be written to during the
initialization sequence.
18.4.18.1 Offset
Register Offset
TIMING_CFG_4 160h
18.4.18.2 Function
The DDR SDRAM timing configuration 4 register provides additional timing fields.
18.4.18.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
RWT WRT RRT WWT
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
EXT_REFIN
EXT_WWT
DLL_LOCK
EXT_RWT
EXT_WRT
Reserved
Reserved
Reserved
Reserved
Reserved
EXT_RR
W
T
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.18.4 Fields
Field Function
0-3 Read-to-write turnaround for same chip select.
RWT Specifies how many cycles will be added between a read to write turnaround for transactions to the same
chip select. If a value of 0000 is chosen, then the DDR controller will use the value used for transactions
to different chip selects, as defined in TIMING_CFG_0[RWT]. This field can be used to improve
performance when operating in burst-chop mode by forcing transactions to the same chip select to use
extra cycles, while transaction to different chip selects can utilize the tri-state time on the DRAM interface.
Regardless of the value that is set in this field, the value defined by TIMING_CFG_0[RWT] will also be
met before issuing a write command.
0000b - Default
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
4-7 Write-to-read turnaround for same chip select.
WRT Specifies how many cycles will be added between a write to read turnaround for transactions to the same
chip select. If a value of 0000 is chosen, then the DDR controller will use the value used for transactions
to different chip selects, as defined in TIMING_CFG_0[WRT]. This field can be used to improve
performance when operating in burst-chop mode by forcing transactions to the same chip select to use
extra cycles, while transaction to different chip selects can utilize the tri-state time on the DRAM interface.
Regardless of the value that is set in this field, the value defined by TIMING_CFG_0[WRT] will also be
met before issuing a read command.
0000b - Default
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
8-11 Read-to-read turnaround for same chip select.
RRT
Table continues on the next page...
Field Function
Specifies how many cycles will be added between reads to the same chip select. If a value of 0000 is
chosen, then 2 cycles will be required between read commands to the same chip select if 4-beat bursts
are used (4 cycles will be required if 8-beat bursts are used). Note that fixed 4-beat bursts are not
supported. However, this field may be used to add extra cycles when burst-chop mode is used, and the
DDR controller must wait 4 cycles for read-to-read transactions to the same chip select.
0000b - BL/2 clocks
0001b - BL/2 + 1 clock
0010b - BL/2 + 2 clocks
0011b - BL/2 + 3 clocks
0100b - BL/2 + 4 clocks
0101b - BL/2 + 5 clocks
0110b - BL/2 + 6 clocks
0111b - BL/2 + 7 clocks
1000b - BL/2 + 8 clocks
1001b - BL/2 + 9 clocks
1010b - BL/2 + 10 clocks
1011b - BL/2 + 11 clocks
1100b - BL/2 + 12 clocks
1101b - BL/2 + 13 clocks
1110b - BL/2 + 14 clocks
1111b - BL/2 + 15 clocks
12-15 Write-to-write turnaround for same chip select.
WWT Specifies how many cycles will be added between writes to the same chip select. If a value of 0000 is
chosen, then 2 cycles will be required between write commands to the same chip select if 4-beat bursts
are used (4 cycles will be required if 8-beat bursts are used). Note that fixed 4-beat bursts are not
supported. However, this field may be used to add extra cycles when burst-chop mode is used, and the
DDR controller must wait 4 cycles for write-to-write transactions to the same chip select.
0000b - BL/2 clocks
0001b - BL/2 + 1 clock
0010b - BL/2 + 2 clocks
0011b - BL/2 + 3 clocks
0100b - BL/2 + 4 clocks
0101b - BL/2 + 5 clocks
0110b - BL/2 + 6 clocks
0111b - BL/2 + 7 clocks
1000b - BL/2 + 8 clocks
1001b - BL/2 + 9 clocks
1010b - BL/2 + 10 clocks
1011b - BL/2 + 11 clocks
1100b - BL/2 + 12 clocks
1101b - BL/2 + 13 clocks
1110b - BL/2 + 14 clocks
1111b - BL/2 + 15 clocks
16-17 Extended read-to-write turnaround (tRTW).
EXT_RWT Specifies how many extra cycles will be added between a read to write turnaround. If 0 clocks is chosen,
then the DDR controller will use a fixed number based on the CAS latency and write latency. Choosing a
value other than 0 adds extra cycles past this default calculation. As a default the DDR controller will
determine the read-to-write turnaround as CL - WL + BL/2 + 2. In this equation, CL is the CAS latency
rounded up to the next integer, WL is the programmed write latency, and BL is the burst length. This field
is concatenated with TIMING_CFG_0[RWT] to obtain a 4-bit value for the total read-to-write turnaround
00b - 0 clocks
01b - 1 clock
10b - 2 clocks
11b - 3 clocks
Field Function
18 Reserved.
—
19 Extended write-to-read turnaround.
EXT_WRT Specifies how many extra cycles will be added between a write to read turnaround. If 0 clocks is chosen,
then the DDR controller will use a fixed number based on the, read latency, and write latency. Choosing a
value other than 0 adds extra cycles past this default calculation. As a default, the DDR controller will
determine the write-to-read turnaround as WL - CL + BL/2 + 1. In this equation, CL is the CAS latency
rounded down to the next integer, WL is the programmed write latency, and BL is the burst length. This
field is concatenated with TIMING_CFG_0[WRT] to obtain a 3-bit value for the total write-to-read
turnaround
0b - 0 clocks
1b - 4 clocks
20 Reserved.
—
21 Extended read-to-read turnaround.
EXT_RRT Specifies how many extra cycles will be added between reads to different chip selects. As a default, 3
cycles will be required between read commands to different chip selects. Extra cycles may be added with
this field. Note: If 8-beat bursts are enabled, then 5 cycles will be the default. This field is concatenated
with TIMING_CFG_0[RRT] to obtain a 3-bit value for the total read-to-read turnaround
0b - 0 clocks
1b - 4 clocks
22 Reserved.
—
23 Extended write-to-write turnaround.
EXT_WWT Specifies how many extra cycles will be added between writes to different chip selects. As a default, 2
cycles will be required between write commands to different chip selects. Extra cycles may be added with
this field. Note: If 8-beat bursts are enabled, then 4 cycles will be the default. This field is concatenated
with TIMING_CFG_0[WWT] to obtain a 3-bit value for the total write-to-write turnaround
0b - 0 clocks
1b - 4 clocks
24-26 Reserved.
—
27 Extended Refresh Interval.
EXT_REFINT Represents the number of memory bus clock cycles between refresh cycles. Depending on
DDR_SDRAM_CFG_2[NUM_PR], some number of rows are refreshed in each DDR SDRAM physical
bank during each refresh cycle. The value for REFINT depends on the specific SDRAMs used and the
interface clock frequency. Refreshes will not be issued when the REFINT is set to all 0s. This field is
concatenated with DDR_SDRAM_INTERVAL[REFINT] to obtain a 17-bit value for the total refresh
interval.
0b - 0 clocks
1b - 65,536 clocks
28-29 Reserved.
—
30-31 DDR SDRAM DLL Lock Time.
DLL_LOCK
Field Function
This provides the number of cycles that it will take for the DRAMs DLL to lock at POR and after exiting
self refresh. The controller will wait the specified number of cycles before issuing any commands after
exiting POR or self refresh.
00b - 200 clocks
01b - 512 clocks
10b - 1024 clocks
11b - Reserved
18.4.19.1 Offset
Register Offset
TIMING_CFG_5 164h
18.4.19.2 Function
The DDR SDRAM timing configuration 5 register provides additional timing fields.
18.4.19.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
RODT_OFF
WODT_ON
RODT_ON
Reserved
Reserved
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
WODT_OFF
WODT_ON
Reserved
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.19.4 Fields
Field Function
0-2 Reserved.
—
3-7 Read to ODT on.
RODT_ON Specifies the number of cycles that will pass from when a read command is placed on the DRAM bus
until the assertion of the relevant ODT signal(s). The default case (00000) provides a decode of [CASLAT
- WR_LAT] to provide the expected default. If 2T timing is used, an extra cycle will automatically be
added to the value selected in this field.
Patterns not shown are reserved.
00000b - CASLAT - WR_LAT
00001b - 0 clocks
00010b - 1 clock
00011b - 2 clocks
01100b - 11 clocks
8 Reserved.
—
9-11 Read to ODT off.
RODT_OFF Specifies the number of cycles that the relevant ODT signal(s) will remain asserted for each read
transaction. The default case (000) will leave the ODT signal(s) asserted for 4 DRAM cycles.
000b - 4 clocks
001b - 1 clock
010b - 2 clocks
011b - 3 clocks
100b - 4 clocks
101b - 5 clocks
110b - 6 clocks
111b - 7 clocks
12-14 Reserved.
—
15-19 Write to ODT on.
WODT_ON Specifies the number of cycles that will pass from when a write command is placed on the DRAM bus
until the assertion of the relevant ODT signal(s). The default case (00000) provides a decode of 0 cycles
to provide the expected default. If 2T timing is used, an extra cycle will automatically be added to the
value selected in this field.
Patterns not shown are reserved.
00000b - 0 clocks
00001b - 0 clocks
00010b - 1 clock
00011b - 2 clocks
00110b - 5 clocks
20 Reserved.
—
21-23 Write to ODT off.
WODT_OFF Specifies the number of cycles that the relevant ODT signal(s) will remain asserted for each write
transaction. The default case (000) will leave the ODT signal(s) asserted for 4 DRAM cycles.
Table continues on the next page...
Field Function
000b - 4 clocks
001b - 1 clock
010b - 2 clocks
011b - 3 clocks
100b - 4 clocks
101b - 5 clocks
110b - 6 clocks
111b - 7 clocks
24-31 Reserved.
—
18.4.20.1 Offset
Register Offset
TIMING_CFG_6 168h
18.4.20.2 Function
The DDR SDRAM timing configuration 6 register provides additional timing fields.
If setting TIMING_CFG_6[HS_CASLAT] or TIMING_CFG_6[HS_WRLAT] to a non-
zero value, then the additive latency must be programmed to 0 clocks.
If setting TIMING_CFG_6[HS_WRLAT] to a non-zero value, then
TIMING_CFG_5[WODT_ON] should be programmed to 0 clocks.
18.4.20.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
HS_CASLAT
HS_WRLAT
HS_WRRE
Reserved
Reserved
W
C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
HS_WRRE
Reserved
Reserved
Reserved
Reserved
W
C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.20.4 Fields
Field Function
0-2 Reserved.
—
3-7 Half-Speed CAS Latency.
HS_CASLAT MCAS_B latency from READ command while DDR controller is operating at half frequency. Number of
clock cycles between registration of a READ command by the SDRAM and the availability of the first
output data. If a READ command is registered at clock edge n and the latency is m clocks, data is
available nominally coincident with clock edge n + m. If a non-zero field of this register is used, then the
additive latency (TIMING_CFG_2[ADD_LAT] must be programmed to 0 clocks).
Patterns not shown are reserved.
00000b - Use full speed value
00101b - 5 clocks
00110b - 6 clocks
00111b - 7 clocks
01000b - 8 clocks
01001b - 9 clocks
01010b - 10 clocks
01011b - 11 clocks
01100b - 12 clocks
01101b - 13 clocks
01110b - 14 clocks
01111b - 15 clocks
10000b - 16 clocks
10001b - 17 clocks
10010b - 18 clocks
10011b - 19 clocks
10100b - 20 clocks
8-12 Half-Speed Write Latency.
Table continues on the next page...
Field Function
HS_WRLAT Write latency while DDR controller is operating at half frequency. Note that the total write latency is equal
to WR_LAT + ADD_LAT. Note that the total write latency must be at least 6 cycles if using unbuffered
DIMMs in 1T timing mode. Note that this is not a straight decode, as bit 13 of this register sets the msb of
the WR_LAT field. If using a non-zero value for this field, then TIMING_CFG_5[WODT_ON] must be set
to 0 clocks to ensure ODT is driven correctly for writes.
Patterns not shown are reserved.
00000b - Use full speed value
00001b - 16 clocks
00011b - 17 clocks
00101b - 18 clocks
01010b - 5 clocks
01100b - 6 clocks
01110b - 7 clocks
13-14 Reserved.
—
15-19 Half-Speed Write Recovery.
HS_WRREC Last data to precharge minimum interval (tWR) while DDR controller is operating at half frequency.
Determines the number of clock cycles from the last data associated with a write command until a
precharge command is allowed. If DDR_SDRAM_CFG_2[OBC_CFG] is set, then this field needs to be
programmed to (tWR + 2 cycles).
00000b - Use full speed value.
00001b - 1 clock
00010b - 2 clocks
00011b - 3 clocks
00100b - 4 clocks
00101b - 5 clocks
00110b - 6 clocks
00111b - 7 clocks
01000b - 8 clocks
01001b - 9 clocks
01010b - 10 clocks
01011b - 11 clocks
01100b - 12 clocks
01101b - 13 clocks
01110b - 14 clocks
01111b - 15 clocks
10000b - 16 clocks
10001b - 17 clocks
10010b - 18 clocks
10011b - 19 clocks
10100b - 20 clocks
10101b - 21 clocks
10110b - 22 clocks
10111b - 23 clocks
11000b - 24 clocks
11001b - 25 clocks
11010b - 26 clocks
11011b - 27 clocks
11100b - 28 clocks
11101b - 29 clocks
11110b - 30 clocks
11111b - 31 clocks
20 Reserved.
Table continues on the next page...
Field Function
—
21-25 Reserved.
—
26 Reserved.
—
27-31 Reserved.
—
18.4.21.1 Offset
Register Offset
TIMING_CFG_7 16Ch
18.4.21.2 Function
The DDR SDRAM timing configuration 7 register provides additional timing fields
required.
18.4.21.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
PAR_LAT
Reserved
CKE_RS
CKSR
CKSR
W
E
X
T
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved CS_TO_CMD Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.21.4 Fields
Field Function
0-1 Reserved.
—
2-3 CKE Reset Time.
CKE_RST CKE reset time (tXPR). Specifies the number of cycles the DDR controller must wait after asserting CKE
after RESET until the first MRS command. This field is also used to determine tXS when exiting self
refresh. Therefore, this should be programmed to the maximum of (tXPR, tXS) if they are different for a
particular memory.
00b - 200 clocks
01b - 256 clocks
10b - 512 clocks
11b - 1024 clocks
4-7 Clock After Self Refresh Entry.
CKSRE Valid clock after Self Refresh entry (tCKSRE). Specifies the number of cycles the DDR controller must drive
valid MCK/MCK_B after entering self refresh before the clocks are allowed to stop.
TIMING_CFG_7[CS_TO_CMD] should also be added to tCKSRE to obtain the final value for this field.
0000b - 15 clocks
0001b - 6 clocks
0010b - 7 clocks
0011b - 8 clocks
0100b - 9 clocks
0101b - 10 clocks
0110b - 11 clocks
0111b - 12 clocks
1000b - 13 clocks
1001b - 14 clocks
1010b - 15 clocks
1011b - 16 clocks
1100b - 17 clocks
1101b - 18 clocks
1110b - 19 clocks
1111b - 32 clocks
8-11 Clock After Self Refresh Exit.
CKSRX Valid clock after Self Refresh exit (tCKSRX). Specifies the number of cycles the DDR controller must drive
valid MCK/MCK_B after exiting self refresh before the clocks are allowed to stop.
0000b - 15 clocks
0001b - 6 clocks
0010b - 7 clocks
0011b - 8 clocks
0100b - 9 clocks
0101b - 10 clocks
0110b - 11 clocks
0111b - 12 clocks
1000b - 13 clocks
1001b - 14 clocks
1010b - 15 clocks
1011b - 16 clocks
1100b - 17 clocks
1101b - 18 clocks
1110b - 19 clocks
Table continues on the next page...
Field Function
1111b - 27 clocks
12-15 Parity latency.
PAR_LAT Specifies the number of cycles to be used for the parity latency for DDR4 memories. For DDR3 memory
types, this should be disabled.
Patterns not shown are reserved.
0000b - Disabled
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
16-23 Reserved.
—
24-27 Chip select to command latency.
CS_TO_CMD Specifies the number of cycles from a chip select until the command is launched. This should only be
used with DDR4. The DDR controller will automatically apply this latency after it has written the MR4
register during DDR4 SDRAM initialization. It will also be enabled when the controller is enabled if
DDR_SDRAM_CFG[BI] is set. However, if software is going to use the DDR_SDRAM_MD_CNTL register
to intialize the DRAM's MR registers instead of allowing for automatic calibration, then this field cannot be
set until software has properly programmed the DDR4 MR4 register to enable CAL mode.
Patterns not shown are reserved.
0000b - Disabled
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
28-31 Reserved.
—
18.4.22.1 Offset
Register Offset
DDR_ZQ_CNTL 170h
18.4.22.2 Function
The DDR ZQ Calibration Control register provides the enable and controls required for
ZQ calibration.
There is a limitation for various DRAM timing parameters when ZQ calibration is used.
The factors involved in this limitation are DDR_ZQ_CNTL[ZQOPER],
DDR_ZQ_CNTL[ZQCS], TIMING_CFG_1[PRETOACT], TIMING_CFG_1[REFREC],
DDR_SDRAM_INTERVAL[REFINT], and the number of chip selects enabled. If the
following condition is true:
[((DDR_ZQ_CNTL[ZQOPER] + DDR_ZQ_CNTL[ZQCS])* (# enabled chip selects)) +
TIMING_CFG_1[PRETOACT] +
TIMING_CFG_1[REFREC] + 2tCK] > (DDR_SDRAM_INTERVAL[REFINT]),
then it is possible that one refresh will be skipped when the controller is exiting self
refresh. If this is an issue, then posted refreshes could be used to extend the refresh
interval. Another alternative is to use the DDR_SDRAM_MD_CNTL register to force an
extra refresh to each chip select after exiting self refresh mode. However, timing
parameters for most devices/frequencies will not allow for a refresh to be missed.
18.4.22.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ZQOPER
Reserved
Reserved
ZQ_EN
ZQINIT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved ZQCS Reserved ZQCS_INT
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.22.4 Fields
Field Function
0 ZQ Calibration Enable.
Table continues on the next page...
Field Function
ZQ_EN This bit determines if ZQ calibrating will be used.
0b - ZQ Calibration will not be used.
1b - ZQ Calibration will be used. A ZQCL command will be issued by the DDR controller after POR
and anytime the DDR controller is exiting self refresh. A ZQCS command will be issued every 32
refresh sequences to account for VT variations.
1-3 Reserved.
—
4-7 ZQ Calibration Initialization Time.
ZQINIT POR ZQ Calibration Time (tZQinit). Determines the number of cycles that must be allowed for DRAM ZQ
calibration at POR. Each chip select will be calibrated separately, and this time must elapse after the
ZQCL command is issued for each chip select before a separate command may be issued.
Patterns not shown are reserved.
0111b - 128 clocks
1000b - 256 clocks
1001b - 512 clocks
1010b - 1024 clocks
8-11 Reserved.
—
12-15 ZQ Calibration Operation Time.
ZQOPER Normal Operation Full Calibration Time (tZQoper). Determines the number of cycles that must be allowed
for DRAM ZQ calibration when exiting self refresh. Each chip select will be calibrated separately, and this
time must elapse after the ZQCL command is issued for each chip select before a separate command
may be issued.
Patterns not shown are reserved.
0111b - 128 clocks
1000b - 256 clocks
1001b - 512 clocks
1010b - 1024 clocks
16-19 Reserved.
—
20-23 ZQ Calibration Short Time.
ZQCS Normal Operation Short Calibration Time (tZQCS). Determines the number of cycles that must be allowed
for DRAM ZQ calibration during dynamic calibration which is issued every ZQCS_INT refresh sequences.
Each chip select will be calibrated separately, and this time must elapse after the ZQCS command is
issued for each chip select before a separate command may be issued.
Patterns not shown are reserved.
0000b - 1 clock
0001b - 2 clocks
0010b - 4 clocks
0011b - 8 clocks
0100b - 16 clocks
0101b - 32 clocks
0110b - 64 clocks
0111b - 128 clocks
1000b - 256 clocks
1001b - 512 clocks
24-27 Reserved.
—
Field Function
28-31 ZQCS Interval.
ZQCS_INT Determines the number of refresh sequences that will pass between each ZQCS calibration.
0000b - 32 refresh sequences
0001b - 64 refresh sequences
0010b - 128 refresh sequences
0011b - 256 refresh sequences
0100b - 512 refresh sequences
0101b - 1024 refresh sequences
0110b - 2048 refresh sequences
0111b - 4096 refresh sequences
1000b - 8192 refresh sequences
1001b - 16384 refresh sequences
1010b - 32768 refresh sequences
1011b - Reserved
1100b - Reserved
1101b - Reserved
1110b - Reserved
1111b - ZQCS calibration disabled
18.4.23.1 Offset
Register Offset
DDR_WRLVL_CNTL 174h
18.4.23.2 Function
The DDR Write Leveling Control register provides controls for write leveling.
18.4.23.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
WRLVL_DONE
WRLVL_DQSEN
WRLVL_ODTEN
WRLVL_MRD
WRLVL_EN
Reserved
Reserved
Reserved
R
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
WRLVL_START
WRLVL_SMPL
WRLVL_WLR
Reserved
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.23.4 Fields
Field Function
0 Write Leveling Enable.
WRLVL_EN This bit determines if write leveling will be used. If this bit is set, then the DDR controller will perform write
leveling immediately after initializing the DRAM.
0b - Write leveling will not be used
1b - Write leveling will be used
1 Write Leveling Done.
WRLVL_DONE This bit will be set by hardware once write leveling has been completed. This is a read-only bit, and it will
only clear after a reset to the part has been issued.
0b - Write leveling has not completed
1b - Write leveling has completed
2-4 Reserved.
—
5-7 Write Leveling MRD.
WRLVL_MRD First DQS pulse rising edge after margining mode is programmed (tWL_MRD). Determines how many
cycles to wait after margining mode has been programmed before the first DQS pulse may be issued.
This field is only relevant when DDR_WRLVL_CNTL[WRLVL_EN] is set.
000b - 1 clock
001b - 2 clocks
010b - 4 clocks
011b - 8 clocks
100b - 16 clocks
Table continues on the next page...
Field Function
101b - 32 clocks
110b - 64 clocks
111b - 128 clocks
8 Reserved.
—
9-11 Write Leveling ODT Enable.
WRLVL_ODTE ODT delay after margining mode is programmed (tWL_ODTEN). Determines how many cycles to wait after
N margining mode has been programmed.until ODT may be asserted.This field is only relevant when
DDR_WRLVL_CNTL[WRLVL_EN] is set.
000b - 1 clock
001b - 2 clocks
010b - 4 clocks
011b - 8 clocks
100b - 16 clocks
101b - 32 clocks
110b - 64 clocks
111b - 128 clocks
12 Reserved.
—
13-15 Write Leveling DQS Enable.
WRLVL_DQSE DQS/DQS_B delay after margining mode is programmed (tWL_DQSEN). Determines how many cycles to
N wait after margining mode has been programmed.until DQS may be actively driven. This field is only
relevant when DDR_WRLVL_CNTL[WRLVL_EN] is set.
000b - 1 clock
001b - 2 clocks
010b - 4 clocks
011b - 8 clocks
100b - 16 clocks
101b - 32 clocks
110b - 64 clocks
111b - 128 clocks
16-19 Write leveling sample time.
WRLVL_SMPL Determines the number of cycles that must pass before the data signals are sampled after a DQS pulse
during margining mode. This field should be programmed at least 6 cycles higher than tWLO to allow
enough time for propagation delay and sampling of the prime data bits. This field is only relevant when
DDR_WRLVL_CNTL[WRLVL_EN] is set.
0000b - 32 clocks
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
Table continues on the next page...
Field Function
1111b - 15 clocks
20 Reserved.
—
21-23 Write leveling repetition time.
WRLVL_WLR Determines the number of cycles that must pass between DQS pulses during write leveling. This field is
only relevant when DDR_WRLVL_CNTL[WRLVL_EN] is set.
000b - 1 clock
001b - 2 clocks
010b - 4 clocks
011b - 8 clocks
100b - 16 clocks
101b - 32 clocks
110b - 64 clocks
111b - 128 clocks
24-26 Reserved.
—
27-31 Write Leveling Start for DQS[0].
WRLVL_START Determines the value to use for the DQS_ADJUST for the first sample when write leveling is enabled.
00000b - 0 clock delay
00001b - 1/8 clock delay
00010b - 1/4 clock delay
00011b - 3/8 clock delay
00100b - 1/2 clock delay
00101b - 5/8 clock delay
00110b - 3/4 clock delay
00111b - 7/8 c'lock delay
01000b - 1 clock delay
01001b - 9/8 clock delay
01010b - 5/4 clock delay
01011b - 11/8 clock delay
01100b - 3/2 clock delay
01101b - 13/8 clock delay
01110b - 7/4 clock delay
01111b - 15/8 clock delay
10000b - 2 clock delay
10001b - 17/8 clock delay
10010b - 9/4 clock delay
10011b - 19/8 clock delay
10100b - 5/2 clock delay
10101b - 21/8 clock delay
10110b - 16/4 clock delay
10111b - 23/8 clock delay
11000b - 3 clock delay
11001b - 25/8 clock delay
11010b - 13/4 clock delay
11011b - 27/8 clock delay
11100b - 7/2 clock delay
11101b - 29/8 clock delay
11110b - 15/4 clock delay
11111b - 31/8 clock delay
18.4.24.1 Offset
Register Offset
DDR_SR_CNTR 17Ch
18.4.24.2 Function
The DDR Self Refresh Counter register can be programmed to force the DDR controller
to enter self refresh after a predefined period of idle time.
18.4.24.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved SR_IT
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.24.4 Fields
Field Function
0-11 Reserved.
—
12-15 Self Refresh Idle Threshold.
SR_IT Defines the number of DRAM cycles that must pass while the DDR controller is idle before it will enter
self refresh. Anytime a transaction is issued to the DDR controller, it will reset its internal counter. When a
new transaction is received by the DDR controller, it will exit self refresh and reset its internal counter. If
Table continues on the next page...
Field Function
this field is zero, then the described power savings feature will be disabled. In addition, if a non-zero
value is programmed into this field, then the DDR controller will exit self refresh anytime a transaction is
issued to the DDR controller, regardless of the reason self refresh was initially entered.
Patterns not shown are reserved.
0000b - Automatic self refresh entry disabled
0001b - 2^10 DRAM clocks
0010b - 2^12 DRAM clocks
0011b - 2^14 DRAM clocks
0100b - 2^16 DRAM clocks
0101b - 2^18 DRAM clocks
0110b - 2^20 DRAM clocks
0111b - 2^22 DRAM clocks
1000b - 2^24 DRAM clocks
1001b - 2^26 DRAM clocks
1010b - 2^28 DRAM clocks
1011b - 2^30 DRAM clocks
16-31 Reserved.
—
18.4.25.1 Offset
Register Offset
DDR_SDRAM_RCW_1 180h
18.4.25.2 Function
The DDR Register Control Word 1 register should be programmed with the intended
values of the register control words if DDR_SDRAM_CFG[RCW_EN] is set. Each 4-bit
field represents the value that will be placed on MBA[1], MBA[0], MA[4], and MA[3] in
DDR3 mode during register control word writes. Each 4-bit field represents the value that
will be placed on MA[3:0] in DDR4 mode during register control word writes.
18.4.25.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
RCW0 RCW1 RCW2 RCW3
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
RCW4 RCW5 RCW6 RCW7
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.25.4 Fields
Field Function
0-3 Register Control Word 0.
RCW0 Represents the value that will be used during writes to register control word 0.
4-7 Register Control Word 1.
RCW1 Represents the value that will be used during writes to register control word 1.
8-11 Register Control Word 2.
RCW2 Represents the value that will be used during writes to register control word 2.
12-15 Register Control Word 3.
RCW3 Represents the value that will be used during writes to register control word 3.
16-19 Register Control Word 4.
RCW4 Represents the value that will be used during writes to register control word 4.
20-23 Register Control Word 5.
RCW5 Represents the value that will be used during writes to register control word 5.
24-27 Register Control Word 6.
RCW6 Represents the value that will be used during writes to register control word 6.
28-31 Register Control Word 7.
RCW7 Represents the value that will be used during writes to register control word 7.
18.4.26.1 Offset
Register Offset
DDR_SDRAM_RCW_2 184h
18.4.26.2 Function
The DDR Register Control Word 2 register should be programmed with the intended
values of the register control words if DDR_SDRAM_CFG[RCW_EN] is set. Each 4-bit
field represents the value that will be placed on MBA[1], MBA[0], MA[4], and MA[3] in
DDR3 mode during register control word writes. Each 4-bit field represents the value that
will be placed on MA[3:0] in DDR4 mode during register control word writes.
t
18.4.26.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
RCW8 RCW9 RCW10 RCW11
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
RCW12 RCW13 RCW14 RCW15
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.26.4 Fields
Field Function
0-3 Register Control Word 8.
RCW8 Represents the value that will be used during writes to register control word 8.
4-7 Register Control Word 9.
RCW9 Represents the value that will be used during writes to register control word 9.
8-11 Register Control Word 10.
RCW10 Represents the value that will be used during writes to register control word 10.
Field Function
12-15 Register Control Word 11.
RCW11 Represents the value that will be used during writes to register control word 11.
16-19 Register Control Word 12.
RCW12 Represents the value that will be used during writes to register control word 12.
20-23 Register Control Word 13.
RCW13 Represents the value that will be used during writes to register control word 13.
24-27 Register Control Word 14.
RCW14 Represents the value that will be used during writes to register control word 14.
28-31 Register Control Word 15.
RCW15 Represents the value that will be used during writes to register control word 15.
18.4.27.1 Offset
Register Offset
DDR_WRLVL_CNTL_2 190h
18.4.27.2 Function
The DDR Write Leveling Control 2 register provides controls for write leveling. This
register specifically defines the starting points for the individual data strobes.
Note: For each field WRLVL_START_n, a setting of 0000 is not recommended; it
disables the per-byte write level start time selection. It is recommended to select proper
individual delay for each byte lane based on board skews.
18.4.27.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved WRLVL_START_1 Reserved WRLVL_START_2
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved WRLVL_START_3 Reserved WRLVL_START_4
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.27.4 Fields
Field Function
0-2 Reserved.
—
3-7 Write leveling start time for DQS[1].
WRLVL_START Determines the value to use for the DQS_ADJUST for the first sample when write leveling is enabled.
_1
00000b - Use value from DDR_WRLVL_CNTL[WRLVL_START]
00001b - 1/8 clock delay
00010b - 1/4 clock delay
00011b - 3/8 clock delay
00100b - 1/2 clock delay
00101b - 5/8 clock delay
00110b - 3/4 clock delay
00111b - 7/8 c'lock delay
01000b - 1 clock delay
01001b - 9/8 clock delay
01010b - 5/4 clock delay
01011b - 11/8 clock delay
01100b - 3/2 clock delay
01101b - 13/8 clock delay
01110b - 7/4 clock delay
01111b - 15/8 clock delay
10000b - 2 clock delay
10001b - 17/8 clock delay
10010b - 9/4 clock delay
10011b - 19/8 clock delay
10100b - 5/2 clock delay
10101b - 21/8 clock delay
10110b - 16/4 clock delay
10111b - 23/8 clock delay
11000b - 3 clock delay
11001b - 25/8 clock delay
11010b - 13/4 clock delay
11011b - 27/8 clock delay
Table continues on the next page...
Field Function
11100b - 7/2 clock delay
11101b - 29/8 clock delay
11110b - 15/4 clock delay
11111b - 31/8 clock delay
8-10 Reserved.
—
11-15 Write leveling start time for DQS[2].
WRLVL_START Determines the value to use for the DQS_ADJUST for the first sample when write leveling is enabled.
_2
00000b - Use value from DDR_WRLVL_CNTL[WRLVL_START]
00001b - 1/8 clock delay
00010b - 1/4 clock delay
00011b - 3/8 clock delay
00100b - 1/2 clock delay
00101b - 5/8 clock delay
00110b - 3/4 clock delay
00111b - 7/8 c'lock delay
01000b - 1 clock delay
01001b - 9/8 clock delay
01010b - 5/4 clock delay
01011b - 11/8 clock delay
01100b - 3/2 clock delay
01101b - 13/8 clock delay
01110b - 7/4 clock delay
01111b - 15/8 clock delay
10000b - 2 clock delay
10001b - 17/8 clock delay
10010b - 9/4 clock delay
10011b - 19/8 clock delay
10100b - 5/2 clock delay
10101b - 21/8 clock delay
10110b - 16/4 clock delay
10111b - 23/8 clock delay
11000b - 3 clock delay
11001b - 25/8 clock delay
11010b - 13/4 clock delay
11011b - 27/8 clock delay
11100b - 7/2 clock delay
11101b - 29/8 clock delay
11110b - 15/4 clock delay
11111b - 31/8 clock delay
16-18 Reserved.
—
19-23 Write leveling start time for DQS[3].
WRLVL_START Determines the value to use for the DQS_ADJUST for the first sample when write leveling is enabled.
_3
00000b - Use value from DDR_WRLVL_CNTL[WRLVL_START]
00001b - 1/8 clock delay
00010b - 1/4 clock delay
00011b - 3/8 clock delay
00100b - 1/2 clock delay
00101b - 5/8 clock delay
00110b - 3/4 clock delay
00111b - 7/8 c'lock delay
01000b - 1 clock delay
Table continues on the next page...
Field Function
01001b - 9/8 clock delay
01010b - 5/4 clock delay
01011b - 11/8 clock delay
01100b - 3/2 clock delay
01101b - 13/8 clock delay
01110b - 7/4 clock delay
01111b - 15/8 clock delay
10000b - 2 clock delay
10001b - 17/8 clock delay
10010b - 9/4 clock delay
10011b - 19/8 clock delay
10100b - 5/2 clock delay
10101b - 21/8 clock delay
10110b - 16/4 clock delay
10111b - 23/8 clock delay
11000b - 3 clock delay
11001b - 25/8 clock delay
11010b - 13/4 clock delay
11011b - 27/8 clock delay
11100b - 7/2 clock delay
11101b - 29/8 clock delay
11110b - 15/4 clock delay
11111b - 31/8 clock delay
24-26 Reserved.
—
27-31 Write leveling start time for DQS[4].
WRLVL_START Determines the value to use for the DQS_ADJUST for the first sample when write leveling is enabled.
_4
00000b - Use value from DDR_WRLVL_CNTL[WRLVL_START]
00001b - 1/8 clock delay
00010b - 1/4 clock delay
00011b - 3/8 clock delay
00100b - 1/2 clock delay
00101b - 5/8 clock delay
00110b - 3/4 clock delay
00111b - 7/8 c'lock delay
01000b - 1 clock delay
01001b - 9/8 clock delay
01010b - 5/4 clock delay
01011b - 11/8 clock delay
01100b - 3/2 clock delay
01101b - 13/8 clock delay
01110b - 7/4 clock delay
01111b - 15/8 clock delay
10000b - 2 clock delay
10001b - 17/8 clock delay
10010b - 9/4 clock delay
10011b - 19/8 clock delay
10100b - 5/2 clock delay
10101b - 21/8 clock delay
10110b - 16/4 clock delay
10111b - 23/8 clock delay
11000b - 3 clock delay
11001b - 25/8 clock delay
11010b - 13/4 clock delay
11011b - 27/8 clock delay
Field Function
11100b - 7/2 clock delay
11101b - 29/8 clock delay
11110b - 15/4 clock delay
11111b - 31/8 clock delay
18.4.28.1 Offset
Register Offset
DDR_WRLVL_CNTL_3 194h
18.4.28.2 Function
The DDR Write Leveling Control 3 register provides controls for write leveling. This
register specifically defines the starting points for the individual data strobes.
Note: For each field WRLVL_START_n, a setting of 0000 is not recommended; it
disables the per-byte write level start time selection. It is recommended to select proper
individual delay for each byte lane based on board skews.
18.4.28.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved WRLVL_START_5 Reserved WRLVL_START_6
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved WRLVL_START_7 Reserved WRLVL_START_8
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.28.4 Fields
Field Function
0-2 Reserved.
—
3-7 Write leveling start time for DQS[5].
WRLVL_START Determines the value to use for the DQS_ADJUST for the first sample when write leveling is enabled.
_5
00000b - Use value from DDR_WRLVL_CNTL[WRLVL_START]
00001b - 1/8 clock delay
00010b - 1/4 clock delay
00011b - 3/8 clock delay
00100b - 1/2 clock delay
00101b - 5/8 clock delay
00110b - 3/4 clock delay
00111b - 7/8 c'lock delay
01000b - 1 clock delay
01001b - 9/8 clock delay
01010b - 5/4 clock delay
01011b - 11/8 clock delay
01100b - 3/2 clock delay
01101b - 13/8 clock delay
01110b - 7/4 clock delay
01111b - 15/8 clock delay
10000b - 2 clock delay
10001b - 17/8 clock delay
10010b - 9/4 clock delay
10011b - 19/8 clock delay
10100b - 5/2 clock delay
10101b - 21/8 clock delay
10110b - 16/4 clock delay
10111b - 23/8 clock delay
11000b - 3 clock delay
11001b - 25/8 clock delay
11010b - 13/4 clock delay
11011b - 27/8 clock delay
11100b - 7/2 clock delay
11101b - 29/8 clock delay
11110b - 15/4 clock delay
11111b - 31/8 clock delay
8-10 Reserved.
—
11-15 Write leveling start time for DQS[6].
WRLVL_START Determines the value to use for the DQS_ADJUST for the first sample when write leveling is enabled.
_6
00000b - Use value from DDR_WRLVL_CNTL[WRLVL_START]
00001b - 1/8 clock delay
00010b - 1/4 clock delay
00011b - 3/8 clock delay
00100b - 1/2 clock delay
00101b - 5/8 clock delay
00110b - 3/4 clock delay
00111b - 7/8 c'lock delay
01000b - 1 clock delay
Table continues on the next page...
Field Function
01001b - 9/8 clock delay
01010b - 5/4 clock delay
01011b - 11/8 clock delay
01100b - 3/2 clock delay
01101b - 13/8 clock delay
01110b - 7/4 clock delay
01111b - 15/8 clock delay
10000b - 2 clock delay
10001b - 17/8 clock delay
10010b - 9/4 clock delay
10011b - 19/8 clock delay
10100b - 5/2 clock delay
10101b - 21/8 clock delay
10110b - 16/4 clock delay
10111b - 23/8 clock delay
11000b - 3 clock delay
11001b - 25/8 clock delay
11010b - 13/4 clock delay
11011b - 27/8 clock delay
11100b - 7/2 clock delay
11101b - 29/8 clock delay
11110b - 15/4 clock delay
11111b - 31/8 clock delay
16-18 Reserved.
—
19-23 Write leveling start time for DQS[7].
WRLVL_START Determines the value to use for the DQS_ADJUST for the first sample when write leveling is enabled.
_7
00000b - Use value from DDR_WRLVL_CNTL[WRLVL_START]
00001b - 1/8 clock delay
00010b - 1/4 clock delay
00011b - 3/8 clock delay
00100b - 1/2 clock delay
00101b - 5/8 clock delay
00110b - 3/4 clock delay
00111b - 7/8 c'lock delay
01000b - 1 clock delay
01001b - 9/8 clock delay
01010b - 5/4 clock delay
01011b - 11/8 clock delay
01100b - 3/2 clock delay
01101b - 13/8 clock delay
01110b - 7/4 clock delay
01111b - 15/8 clock delay
10000b - 2 clock delay
10001b - 17/8 clock delay
10010b - 9/4 clock delay
10011b - 19/8 clock delay
10100b - 5/2 clock delay
10101b - 21/8 clock delay
10110b - 16/4 clock delay
10111b - 23/8 clock delay
11000b - 3 clock delay
11001b - 25/8 clock delay
11010b - 13/4 clock delay
11011b - 27/8 clock delay
Table continues on the next page...
Field Function
11100b - 7/2 clock delay
11101b - 29/8 clock delay
11110b - 15/4 clock delay
11111b - 31/8 clock delay
24-26 Reserved.
—
27-31 Write leveling start time for DQS[8].
WRLVL_START Determines the value to use for the DQS_ADJUST for the first sample when write leveling is enabled.
_8
00000b - Use value from DDR_WRLVL_CNTL[WRLVL_START]
00001b - 1/8 clock delay
00010b - 1/4 clock delay
00011b - 3/8 clock delay
00100b - 1/2 clock delay
00101b - 5/8 clock delay
00110b - 3/4 clock delay
00111b - 7/8 c'lock delay
01000b - 1 clock delay
01001b - 9/8 clock delay
01010b - 5/4 clock delay
01011b - 11/8 clock delay
01100b - 3/2 clock delay
01101b - 13/8 clock delay
01110b - 7/4 clock delay
01111b - 15/8 clock delay
10000b - 2 clock delay
10001b - 17/8 clock delay
10010b - 9/4 clock delay
10011b - 19/8 clock delay
10100b - 5/2 clock delay
10101b - 21/8 clock delay
10110b - 16/4 clock delay
10111b - 23/8 clock delay
11000b - 3 clock delay
11001b - 25/8 clock delay
11010b - 13/4 clock delay
11011b - 27/8 clock delay
11100b - 7/2 clock delay
11101b - 29/8 clock delay
11110b - 15/4 clock delay
11111b - 31/8 clock delay
18.4.29.1 Offset
Register Offset
DDR_SDRAM_RCW_3 1A0h
18.4.29.2 Function
The DDR Register Control Word 3 register should be programmed with the intended
values of the register control words if DDR_SDRAM_CFG[RCW_EN] is set. Each 8-bit
field represents the value that will be placed on MA[7:0], during register control word
writes. This register is only used for DDR4 mode.
18.4.29.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
RCW1X RCW2X
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
RCW3X RCW4X
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.29.4 Fields
Field Function
0-7 Register Control Word 1X.
RCW1X Represents the value that will be placed on MA[7:0] during writes to register control word 1X for DDR4.
8-15 Register Control Word 2X.
RCW2X Represents the value that will be placed on MA[7:0] during writes to register control word 2X for DDR4.
16-23 Register Control Word 3X.
RCW3X Represents the value that will be placed on MA[7:0] during writes to register control word 3X for DDR4.
24-31 Register Control Word 4X.
RCW4X Represents the value that will be placed on MA[7:0] during writes to register control word 4X for DDR4.
18.4.30.1 Offset
Register Offset
DDR_SDRAM_RCW_4 1A4h
18.4.30.2 Function
The DDR Register Control Word 4 register should be programmed with the intended
values of the register control words if DDR_SDRAM_CFG[RCW_EN] is set. Each 8-bit
field represents the value that will be placed on MA[7:0], during register control word
writes. This register is only used for DDR4 mode.
18.4.30.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
RCW5X RCW6X
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
RCW7X RCW8X
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.30.4 Fields
Field Function
0-7 Register Control Word 5X.
RCW5X Represents the value that will be placed on MA[7:0] during writes to register control word 5X for DDR4.
8-15 Register Control Word 6X.
RCW6X Represents the value that will be placed on MA[7:0] during writes to register control word 6X for DDR4.
16-23 Register Control Word 7X.
RCW7X Represents the value that will be placed on MA[7:0] during writes to register control word 7X for DDR4.
24-31 Register Control Word 8X.
RCW8X Represents the value that will be placed on MA[7:0] during writes to register control word 8X for DDR4.
18.4.31.1 Offset
Register Offset
DDR_SDRAM_RCW_5 1A8h
18.4.31.2 Function
The DDR Register Control Word 5 register should be programmed with the intended
values of the register control words if DDR_SDRAM_CFG[RCW_EN] is set. Each 8-bit
field represents the value that will be placed on MA[7:0], during register control word
writes. This register is only used for DDR4 mode.
t
18.4.31.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
RCW9X RCW10X
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
RCW11X RCW12X
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.31.4 Fields
Field Function
0-7 Register Control Word 9X.
RCW9X Represents the value that will be placed on MA[7:0] during writes to register control word 9X for DDR4.
8-15 Register Control Word 10X.
Table continues on the next page...
Field Function
RCW10X Represents the value that will be placed on MA[7:0] during writes to register control word 10X for DDR4.
16-23 Register Control Word 11X.
RCW11X Represents the value that will be placed on MA[7:0] during writes to register control word 11X for DDR4.
24-31 Register Control Word 12X.
RCW12X Represents the value that will be placed on MA[7:0] during writes to register control word 12X for DDR4.
18.4.32.1 Offset
Register Offset
DDR_SDRAM_RCW_6 1ACh
18.4.32.2 Function
The DDR Register Control Word 6 register should be programmed with the intended
values of the register control words if DDR_SDRAM_CFG[RCW_EN] is set. Each 8-bit
field represents the value that will be placed on MA[7:0], during register control word
writes. This register is only used for DDR4 mode.
18.4.32.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
RCW13X RCW14X
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
RCW15X SPARE_CNFG
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.32.4 Fields
Field Function
0-7 Register Control Word 13X.
RCW13X Represents the value that will be placed on MA[7:0] during writes to register control word 13X for DDR4.
8-15 Register Control Word 14X.
RCW14X Represents the value that will be placed on MA[7:0] during writes to register control word 14X for DDR4.
16-23 Register Control Word 15X.
RCW15X Represents the value that will be placed on MA[7:0] during writes to register control word 15X for DDR4.
24-31 Spare Config Bits.
SPARE_CNFG This field is currently unused.
18.4.33.1 Offset
Register Offset
DDR_SDRAM_MODE_3 200h
18.4.33.2 Function
The DDR SDRAM mode configuration register sets the values loaded into the DDR's
mode registers. This register is used specifically for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set.
18.4.33.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
SDMODE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.33.4 Fields
Field Function
0-15 Extended SDRAM mode.
ESDMODE Specifies the initial value loaded into the DDR SDRAM extended mode register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. The range and meaning of legal values is specified by the
DDR SDRAM manufacturer.
When this value is driven onto the address bus (during the DDR SDRAM initialization sequence), MA[0]
presents the lsb of ESDMODE, which, in the big-endian convention shown here, corresponds to
ESDMODE[15]. The msb of the SDRAM extended mode register value must be stored at ESDMODE[0].
The value programmed into this field is also used for writing MR1 during write leveling, although the bits
specifically related to the write leveling scheme are handled automatically by the DDR controller. Even if
DDR_SDRAM_CFG[BI] is set, this field is still used during write leveling. The write leveling enable bit
should be cleared by software in this field.
16-31 SDRAM mode.
SDMODE Specifies the initial value loaded into the DDR SDRAM mode register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. The range of legal values is specified by the DDR SDRAM
manufacturer.
When this value is driven onto the address bus (during DDR SDRAM initialization), MA[0] presents the
lsb of SDMODE, which, in the big-endian convention shown here corresponds to SDMODE[15]. The msb
of the SDRAM mode register value must be stored at SDMODE[0]. Because the memory controller forces
SDMODE[7] to certain values depending on the state of the initialization sequence, (for resetting the
SDRAM's DLL) the corresponding bits of this field are ignored by the memory controller. Note that
SDMODE[7] is mapped to MA[8].
18.4.34.1 Offset
Register Offset
DDR_SDRAM_MODE_4 204h
18.4.34.2 Function
The DDR SDRAM mode 4 configuration register sets the values loaded into the DDR's
extended mode 2 and 3 registers. This register is used specifically for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set.
18.4.34.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE2
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ESDMODE3
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.34.4 Fields
Field Function
0-15 Extended SDRAM mode 2.
ESDMODE2 Specifies the initial value loaded into the DDR SDRAM extended 2 mode register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. The range and meaning of legal values is specified by the
DDR SDRAM manufacturer.
When this value is driven onto the address bus (during the DDR SDRAM initialization sequence), MA[0]
presents the lsb bit of ESDMODE2, which, in the big-endian convention shown here, corresponds to
ESDMODE2[15]. The msb of the SDRAM extended mode 2 register value must be stored at
ESDMODE2[0].
16-31 Extended SDRAM mode 3.
ESDMODE3 Specifies the initial value loaded into the DDR SDRAM extended 3 mode register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. The range of legal values of legal values is specified by
the DDR SDRAM manufacturer.
Field Function
When this value is driven onto the address bus (during DDR SDRAM initialization), MA[0] presents the
lsb of ESDMODE3, which, in the big-endian convention shown here, corresponds to ESDMODE3[15].
The msb of the SDRAM extended mode 3 register value must be stored at ESDMODE3[0].
18.4.35.1 Offset
Register Offset
DDR_SDRAM_MODE_5 208h
18.4.35.2 Function
The DDR SDRAM mode configuration register sets the values loaded into the DDR's
mode registers. This register is used specifically for chip select 2 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set.
18.4.35.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
SDMODE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.35.4 Fields
Field Function
0-15 Extended SDRAM mode.
ESDMODE Specifies the initial value loaded into the DDR SDRAM extended mode register for chip select 2 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. The range and meaning of legal values is specified by the
DDR SDRAM manufacturer.
When this value is driven onto the address bus (during the DDR SDRAM initialization sequence), MA[0]
presents the lsb of ESDMODE, which, in the big-endian convention, corresponds to ESDMODE[15]. The
msb of the SDRAM extended mode register value must be stored at ESDMODE[0]. The value
programmed into this field is also used for writing MR1 during write leveling, although the bits specifically
related to the write leveling scheme are handled automatically by the DDR controller. Even if
DDR_SDRAM_CFG[BI] is set, this field is still used during write leveling. The write leveling enable bit
should be cleared by software in this field.
16-31 SDRAM mode.
SDMODE Specifies the initial value loaded into the DDR SDRAM mode register for chip select 2 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. The range of legal values is specified by the DDR SDRAM
manufacturer.
When this value is driven onto the address bus (during DDR SDRAM initialization), MA[0] presents the
lsb of SDMODE, which, in the big-endian convention, corresponds to SDMODE[15]. The msb of the
SDRAM mode register value must be stored at SDMODE[0]. Because the memory controller forces
SDMODE[7] to certain values depending on the state of the initialization sequence, (for resetting the
SDRAM's DLL) the corresponding bits of this field are ignored by the memory controller. Note that
SDMODE[7] is mapped to MA[8].
18.4.36.1 Offset
Register Offset
DDR_SDRAM_MODE_6 20Ch
18.4.36.2 Function
The DDR SDRAM mode 6 configuration register sets the values loaded into the DDR's
extended mode 2 and 3 registers. This register is used specifically for chip select 2 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set.
18.4.36.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE2
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ESDMODE3
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.36.4 Fields
Field Function
0-15 Extended SDRAM mode 2.
ESDMODE2 Specifies the initial value loaded into the DDR SDRAM extended 2 mode register for chip select 2 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. The range and meaning of legal values is specified by the
DDR SDRAM manufacturer.
When this value is driven onto the address bus (during the DDR SDRAM initialization sequence), MA[0]
presents the lsb bit of ESDMODE2, which, in the big-endian convention, corresponds to ESDMODE2[15].
The msb of the SDRAM extended mode 2 register value must be stored at ESDMODE2[0].
16-31 Extended SDRAM mode 3.
ESDMODE3 Specifies the initial value loaded into the DDR SDRAM extended 3 mode register for chip select 2 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. The range of legal values of legal values is specified by
the DDR SDRAM manufacturer.
When this value is driven onto the address bus (during DDR SDRAM initialization), MA[0] presents the
lsb of ESDMODE3, which, in the big-endian convention, corresponds to ESDMODE3[15]. The msb of the
SDRAM extended mode 3 register value must be stored at ESDMODE3[0].
18.4.37.1 Offset
Register Offset
DDR_SDRAM_MODE_7 210h
18.4.37.2 Function
The DDR SDRAM mode configuration register sets the values loaded into the DDR's
mode registers. This register is used specifically for chip select 3 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set.
18.4.37.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
SDMODE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.37.4 Fields
Field Function
0-15 Extended SDRAM mode.
ESDMODE Specifies the initial value loaded into the DDR SDRAM extended mode register for chip select 3 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. The range and meaning of legal values is specified by the
DDR SDRAM manufacturer.
When this value is driven onto the address bus (during the DDR SDRAM initialization sequence), MA[0]
presents the lsb of ESDMODE, which, in the big-endian convention, corresponds to ESDMODE[15]. The
msb of the SDRAM extended mode register value must be stored at ESDMODE[0]. The value
programmed into this field is also used for writing MR1 during write leveling, although the bits specifically
related to the write leveling scheme are handled automatically by the DDR controller. Even if
DDR_SDRAM_CFG[BI] is set, this field is still used during write leveling. The write leveling enable bit
should be cleared by software in this field.
16-31 SDRAM mode.
SDMODE Specifies the initial value loaded into the DDR SDRAM mode register for chip select 3 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. The range of legal values is specified by the DDR SDRAM
manufacturer.
When this value is driven onto the address bus (during DDR SDRAM initialization), MA[0] presents the
lsb of SDMODE, which, in the big-endian convention, corresponds to SDMODE[15]. The msb of the
SDRAM mode register value must be stored at SDMODE[0]. Because the memory controller forces
SDMODE[7] to certain values depending on the state of the initialization sequence, (for resetting the
SDRAM's DLL) the corresponding bits of this field are ignored by the memory controller. Note that
SDMODE[7] is mapped to MA[8].
18.4.38.1 Offset
Register Offset
DDR_SDRAM_MODE_8 214h
18.4.38.2 Function
The DDR SDRAM mode 8 configuration register sets the values loaded into the DDR's
extended mode 2 and 3 registers. This register is used specifically for chip select 3 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set.
18.4.38.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE2
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ESDMODE3
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.38.4 Fields
Field Function
0-15 Extended SDRAM mode 2.
ESDMODE2 Specifies the initial value loaded into the DDR SDRAM extended 2 mode register for chip select 3 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. The range and meaning of legal values is specified by the
DDR SDRAM manufacturer.
Table continues on the next page...
Field Function
When this value is driven onto the address bus (during the DDR SDRAM initialization sequence), MA[0]
presents the lsb bit of ESDMODE2, which, in the big-endian convention, corresponds to ESDMODE2[15].
The msb of the SDRAM extended mode 2 register value must be stored at ESDMODE2[0].
16-31 Extended SDRAM mode 3.
ESDMODE3 Specifies the initial value loaded into the DDR SDRAM extended 3 mode register for chip select 3 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. The range of legal values of legal values is specified by
the DDR SDRAM manufacturer.
When this value is driven onto the address bus (during DDR SDRAM initialization), MA[0] presents the
lsb of ESDMODE3, which, in the big-endian convention, corresponds to ESDMODE3[15]. The msb of the
SDRAM extended mode 3 register value must be stored at ESDMODE3[0].
18.4.39.1 Offset
Register Offset
DDR_SDRAM_MODE_9 220h
18.4.39.2 Function
The DDR SDRAM mode configuration register sets the values loaded into the DDR's
mode registers.
18.4.39.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE4
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ESDMODE5
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.39.4 Fields
Field Function
0-15 Extended SDRAM mode 4.
ESDMODE4 Specifies the initial value loaded into the DDR SDRAM MR4 register if using DDR4 memories. The range
and meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven
onto the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE4, which, in the big-endian convention, corresponds to ESDMODE4[15]. The msb of the
SDRAM MR4 value must be stored at ESDMODE4[0].
16-31 Extended SDRAM mode 5.
ESDMODE5 Specifies the initial value loaded into the DDR SDRAM MR5 register if using DDR4 memories. The range
and meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven
onto the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE5, which, in the big-endian convention, corresponds to ESDMODE5[15]. The msb of the
SDRAM MR5 value must be stored at ESDMODE5[0].
18.4.40.1 Offset
Register Offset
DDR_SDRAM_MODE_1 224h
0
18.4.40.2 Function
The DDR SDRAM mode 10 configuration register sets the values loaded into the DDR's
extended mode 6and 7 registers.
18.4.40.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE6
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ESDMODE7
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.40.4 Fields
Field Function
0-15 Extended SDRAM mode 6.
ESDMODE6 Specifies the initial value loaded into the DDR SDRAM MR6 register if using DDR4 memories. The range
and meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven
onto the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE6, which, in the big-endian convention, corresponds to ESDMODE6[15]. The msb of the
SDRAM MR6 value must be stored at ESDMODE6[0].
16-31 Extended SDRAM mode 7.
ESDMODE7 Specifies the initial value loaded into the DDR SDRAM MR7 register if using DDR4 memories. The range
and meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven
onto the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE7, which, in the big-endian convention, corresponds to ESDMODE7[15]. The msb of the
SDRAM MR7 value must be stored at ESDMODE7[0].
18.4.41.1 Offset
Register Offset
DDR_SDRAM_MODE_1 228h
1
18.4.41.2 Function
The DDR SDRAM mode configuration register sets the values loaded into the DDR's
mode registers. This register is used specifically for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set.
18.4.41.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE4
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ESDMODE5
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.41.4 Fields
Field Function
0-15 Extended SDRAM mode 4.
ESDMODE4 Specifies the initial value loaded into the DDR SDRAM MR4 register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. This is only used with DDR4 memories. The range and
meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven onto
the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE4, which, in the big-endian convention, corresponds to ESDMODE4[15]. The msb of the
SDRAM MR4 value must be stored at ESDMODE4[0].
16-31 Extended SDRAM mode 5.
ESDMODE5 Specifies the initial value loaded into the DDR SDRAM MR5 register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. This is only used with DDR4 memories. The range and
meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven onto
the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE5, which, in the big-endian convention, corresponds to ESDMODE5[15]. The msb of the
SDRAM MR5 value must be stored at ESDMODE5[0].
18.4.42.1 Offset
Register Offset
DDR_SDRAM_MODE_1 22Ch
2
18.4.42.2 Function
The DDR SDRAM mode 12 configuration register sets the values loaded into the DDR's
extended mode 6 and 7 registers. This register is used specifically for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set.
18.4.42.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE6
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ESDMODE7
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.42.4 Fields
Field Function
0-15 Extended SDRAM mode 6.
ESDMODE6 Specifies the initial value loaded into the DDR SDRAM MR6 register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. This is only used with DDR4 memories. The range and
meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven onto
the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE6, which, in the big-endian convention, corresponds to ESDMODE6[15]. The msb of the
SDRAM MR6 value must be stored at ESDMODE6[0].
16-31 Extended SDRAM mode 7.
ESDMODE7 Specifies the initial value loaded into the DDR SDRAM MR7 register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. This is only used with DDR4 memories. The range and
meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven onto
Field Function
the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE7, which, in the big-endian convention, corresponds to ESDMODE7[15]. The msb of the
SDRAM MR7 value must be stored at ESDMODE7[0].
18.4.43.1 Offset
Register Offset
DDR_SDRAM_MODE_1 230h
3
18.4.43.2 Function
The DDR SDRAM mode configuration register sets the values loaded into the DDR's
mode registers. This register is used specifically for chip select 2 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set.
18.4.43.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE4
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ESDMODE5
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.43.4 Fields
Field Function
0-15 Extended SDRAM mode 4.
ESDMODE4 Specifies the initial value loaded into the DDR SDRAM MR4 register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. This is only used with DDR4 memories. The range and
meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven onto
the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE4, which, in the big-endian convention corresponds to ESDMODE4[15]. The msb of the
SDRAM MR4 value must be stored at ESDMODE4[0].
16-31 Extended SDRAM mode 5.
ESDMODE5 Specifies the initial value loaded into the DDR SDRAM MR5 register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. This is only used with DDR4 memories. The range and
meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven onto
the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE5, which, in the big-endian convention corresponds to ESDMODE5[15]. The msb of the
SDRAM MR5 value must be stored at ESDMODE5[0].
18.4.44.1 Offset
Register Offset
DDR_SDRAM_MODE_1 234h
4
18.4.44.2 Function
The DDR SDRAM mode 14 configuration register sets the values loaded into the DDR's
extended mode 6 and 7 registers. This register is used specifically for chip select 2 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set.
18.4.44.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE6
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ESDMODE7
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.44.4 Fields
Field Function
0-15 Extended SDRAM mode 6.
ESDMODE6 Specifies the initial value loaded into the DDR SDRAM MR6 register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. This is only used with DDR4 memories. The range and
meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven onto
the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE6, which, in the big-endian convention, corresponds to ESDMODE6[15]. The msb of the
SDRAM MR6 value must be stored at ESDMODE6[0].
16-31 Extended SDRAM mode 7.
ESDMODE7 Specifies the initial value loaded into the DDR SDRAM MR7 register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. This is only used with DDR4 memories. The range and
meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven onto
the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE7, which, in the big-endian convention, corresponds to ESDMODE7[15]. The msb of the
SDRAM MR7 value must be stored at ESDMODE7[0].
18.4.45.1 Offset
Register Offset
DDR_SDRAM_MODE_1 238h
5
18.4.45.2 Function
The DDR SDRAM mode configuration register sets the values loaded into the DDR's
mode registers. This register is used specifically for chip select 3 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set.
18.4.45.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE4
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ESDMODE5
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.45.4 Fields
Field Function
0-15 Extended SDRAM mode 4.
ESDMODE4 Specifies the initial value loaded into the DDR SDRAM MR4 register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. This is only used with DDR4 memories. The range and
meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven onto
the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE4, which, in the big-endian convention, corresponds to ESDMODE4[15]. The msb of the
SDRAM MR4 value must be stored at ESDMODE4[0].
16-31 Extended SDRAM mode 5.
ESDMODE5 Specifies the initial value loaded into the DDR SDRAM MR5 register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. This is only used with DDR4 memories. The range and
meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven onto
the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE5, which, in the big-endian convention, corresponds to ESDMODE5[15]. The msb of the
SDRAM MR5 value must be stored at ESDMODE5[0].
18.4.46.1 Offset
Register Offset
DDR_SDRAM_MODE_1 23Ch
6
18.4.46.2 Function
The DDR SDRAM mode 16 configuration register sets the values loaded into the DDR's
extended mode 6 and 7 registers. This register is used specifically for chip select 3 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set.
18.4.46.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ESDMODE6
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ESDMODE7
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.46.4 Fields
Field Function
0-15 Extended SDRAM mode 6.
ESDMODE6 Specifies the initial value loaded into the DDR SDRAM MR6 register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. This is only used with DDR4 memories. The range and
meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven onto
the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE6, which, in the big-endian convention, corresponds to ESDMODE6[15]. The msb of the
SDRAM MR6 value must be stored at ESDMODE6[0].
Field Function
16-31 Extended SDRAM mode 7.
ESDMODE7 Specifies the initial value loaded into the DDR SDRAM MR7 register for chip select 1 if
DDR_SDRAM_CFG_2[UNQ_MRS_EN] is set. This is only used with DDR4 memories. The range and
meaning of legal values is specified by the DDR SDRAM manufacturer. When this value is driven onto
the address bus (during the DDR SDRAM initialization sequence), MA[0] presents the lsb bit of
ESDMODE7, which, in the big-endian convention, corresponds to ESDMODE7[15]. The msb of the
SDRAM MR7 value must be stored at ESDMODE7[0].
18.4.47.1 Offset
Register Offset
TIMING_CFG_8 250h
18.4.47.2 Function
The DDR SDRAM timing configuration 8 register provides additional timing fields
required to support DDR4 memories.
18.4.47.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
RWT_BG WRT_BG RRT_BG WWT_BG
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ACTTOACT_BG WRTORD_BG Reserved PRE_ALL_REC
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.47.4 Fields
Field Function
0-3 Read-to-write turnaround for same chip select and same bank group.
RWT_BG Specifies how many cycles will be added between a read to write turnaround for transactions to the same
bank group. If a value of 0000 is chosen, then the DDR controller will use the value used for transactions
to different chip selects, as defined in TIMING_CFG_0[RWT]. This field can be used to improve
performance when operating in burst-chop mode by forcing transactions to the same chip select to use
extra cycles, while transaction to different chip selects can utilize the tri-state time on the DRAM interface.
Regardless of the value that is set in this field, the value defined by TIMING_CFG_0[RWT] will also be
met before issuing a write command. This field should be set to 0000 for DDR3.
0000b - Default
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
4-7 Write-to-read turnaround for same chip select and same bank group.
WRT_BG Specifies how many cycles will be added between a write to read turnaround for transactions to the same
bank group. If a value of 0000 is chosen, then the DDR controller will use the value used for transactions
to different chip selects, as defined in TIMING_CFG_0[WRT]. This field can be used to improve
performance when operating in burst-chop mode by forcing transactions to the same chip select to use
extra cycles, while transaction to different chip selects can utilize the tri-state time on the DRAM interface.
Regardless of the value that is set in this field, the value defined by TIMING_CFG_0[WRT] will also be
met before issuing a read command. This field should be programmed to 0000 for DDR3 mode.
0000b - Default
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
8-11 Read-to-read turnaround for same chip select and same bank group.
RRT_BG
Table continues on the next page...
Field Function
Specifies how many cycles will be added between reads to the same bank group. If a value of 0000 is
chosen, then 2 cycles will be required between read commands to the same chip select if 4-beat bursts
are used (4 cycles will be required if 8-beat bursts are used). Note that fixed 4-beat bursts are not
supported. However, this field may be used to add extra cycles when burst-chop mode is used, and the
DDR controller must wait 4 cycles for read-to-read transactions to the same chip select. This field should
be programmed to 0000 for DDR3 mode.
0000b - BL/2 clocks
0001b - BL/2 + 1 clock
0010b - BL/2 + 2 clocks
0011b - BL/2 + 3 clocks
0100b - BL/2 + 4 clocks
0101b - BL/2 + 5 clocks
0110b - BL/2 + 6 clocks
0111b - BL/2 + 7 clocks
1000b - BL/2 + 8 clocks
1001b - BL/2 + 9 clocks
1010b - BL/2 + 10 clocks
1011b - BL/2 + 11 clocks
1100b - BL/2 + 12 clocks
1101b - BL/2 + 13 clocks
1110b - BL/2 + 14 clocks
1111b - BL/2 + 15 clocks
12-15 Write-to-write turnaround for same chip select and same bank group.
WWT_BG Specifies how many cycles will be added between writes to the same bank group. If a value of 0000 is
chosen, then 2 cycles will be required between write commands to the same bank group if 4-beat bursts
are used (4 cycles will be required if 8-beat bursts are used). Note that fixed 4-beat bursts are not
supported. However, this field may be used to add extra cycles when burst-chop mode is used, and the
DDR controller must wait 4 cycles for write-to-write transactions to the same chip select. This field should
be programmed to 0000 for DDR3 mode.
0000b - BL/2 clocks
0001b - BL/2 + 1 clock
0010b - BL/2 + 2 clocks
0011b - BL/2 + 3 clocks
0100b - BL/2 + 4 clocks
0101b - BL/2 + 5 clocks
0110b - BL/2 + 6 clocks
0111b - BL/2 + 7 clocks
1000b - BL/2 + 8 clocks
1001b - BL/2 + 9 clocks
1010b - BL/2 + 10 clocks
1011b - BL/2 + 11 clocks
1100b - BL/2 + 12 clocks
1101b - BL/2 + 13 clocks
1110b - BL/2 + 14 clocks
1111b - BL/2 + 15 clocks
16-19 Activate-To-Activate Same Bank Group.
ACTTOACT_BG Activate-to-activate interval for the same bank group(tRRD_L). Number of clock cycles from an activate
command until another activate command is allowed for a different logical bank in the same physical
bank (chip select). Bank groups are only used for DDR4. This field should be programmed to 0000 for
DDR3 mode.
0000b - ACTTOACT_BG is unused
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
Table continues on the next page...
Field Function
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
20-23 Write-To-Read Same Bank Group.
WRTORD_BG Last write data pair to read command issue interval for the same bank group(tWTR_L). Number of clock
cycles between the last write data pair and the subsequent read command to the same physical bank. If
DDR_SDRAM_CFG_2[OBC_CFG] is set, then this field needs to be programmed to (tWTR + 2 cycles).
Bank groups are only used for DDR4. This field should be programmed to 0000 for DDR3 mode.
0000b - WRTORD_BG timing is unused
0001b - 1 clock
0010b - 2 clocks
0011b - 3 clocks
0100b - 4 clocks
0101b - 5 clocks
0110b - 6 clocks
0111b - 7 clocks
1000b - 8 clocks
1001b - 9 clocks
1010b - 10 clocks
1011b - 11 clocks
1100b - 12 clocks
1101b - 13 clocks
1110b - 14 clocks
1111b - 15 clocks
24-26 Reserved.
—
27-31 Precharge all-to-activate interval.
PRE_ALL_REC Determines the number of clock cycles from a precharge all command until an activate or refresh
command is allowed.
00000b - Use TIMING_CFG_1[PRETOACT]
00001b - 1 clock
00010b - 2 clocks
00011b - 3 clocks
00100b - 4 clocks
00101b - 5 clocks
00110b - 6 clocks
00111b - 7 clocks
01000b - 8 clocks
01001b - 9 clocks
01010b - 10 clocks
01011b - 11 clocks
01100b - 12 clocks
01101b - 13 clocks
01110b - 14 clocks
01111b - 15 clocks
Field Function
10000b - 16 clocks
10001b - 17 clocks
10010b - 18 clocks
10011b - 19 clocks
10100b - 20 clocks
10101b - 21 clocks
10110b - 22 clocks
10111b - 23 clocks
11000b - 24 clocks
11001b - 25 clocks
11010b - 26 clocks
11011b - 27 clocks
11100b - 28 clocks
11101b - 29 clocks
11110b - 30 clocks
11111b - 31 clocks
18.4.48.1 Offset
Register Offset
DDR_SDRAM_CFG_3 260h
18.4.48.2 Function
The DDR SDRAM control configuration register 3 provides more control configuration
for the DDR controller.
18.4.48.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
ECC_SCRUB_INT
DDRC_RST
ECC_FIX_E
Reserved
Reserved
Reserved
Reserved
Reserved
W
N
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
DIS_MRS_PAR
REF_MOD
DM_CFG
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
W
E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.48.4 Fields
Field Function
0 DDR controller reset.
DDRC_RST This bit should be set by software if the DDR controller should be reset. This will reset all state machines
and internal FIFOs. This bit will not reset the DDR controller's configuration registers. Before setting this
bit, DDR_SDRAM_CFG[MEM_EN] should be cleared. Note that this bit is self-clearing. Software should
poll for this bit to clear before re-enabling the DDR controllerr.
0b - DDR controller is operating in normal mode.
1b - DDR controller is reset.
1 ECC fixing enable.
ECC_FIX_EN The DDR controller supports ECC fixing in memory. In this mode, the DDR controller will automatically fix
any detected single-bit errors by issuing a new transaction to read the address with the failing bit,
correcting the bit, and writing the data back to memory. The single-bit error will still be counted in the
ERR_SBE register for this case, but the controller will automatically fix the error. Note that during the
'read back', the single-bit error will not be double counted in the ERR_SBE register. In addition, the DDR
controller will periodically issue a read to memory at the interval defined by ECC_SCRUB_INT. If a
single-bit error is detected during a periodic read, it will be fixed. In this case, the error will be reported as
an SSBE in the ERR_SBE register. If a multi-bit eror is detected, then it will be reported in the
ERR_DETECT register. Also note that if a subsequent single-bit error is detected at the same address
while a first error is being fixed, then the second error will not be reported. Also, after a first SBE is
detected, no other SBEs will be fixed until the first SBE has been fixed in memory.This bit should only be
set if DDR_SDRAM_CFG[ECC_EN] is also set.
NOTE: Scrubbing cannot be enabled until after the controller has cleared
DDR_SDRAM_CFG_2[D_INIT].
0b - ECC scrubbing is disabled.
1b - ECC scrubbing is enabled.
Field Function
2-3 Reserved.
—
4-7 ECC scrubbing interval.
ECC_SCRUB_I This field defines how frequent the DDR controller will inject reads to test ECC if ECC_FIX_EN is set.
NT Note that reads will only be injected immediately after a refresh sequence. If a single-bit error is detected,
then the controller will fix the error in memory. If a multi-bit error is detected, then the controller will report
the error in the ERR_DETECT register. When issuing reads, the DDR controller will move sequentially
throughout the DRAM address space by automatically incrementing an internal address counter.
Note that the maximum amount memory supported would be 4 ranks of 16 Gbit x8 devices utilizing a 64-
bit bus, which provides a total of 64 GBytes of memory. Since 64-bytes of data are scrubbed for each
read, this will require 1G total reads to scrub the entire memory contents. Assuming a refresh interval of
7.8 microseconds, this will take approximately 2.35 hours to cycle through the entire memory array. If less
memory is used, then this time will take less. The scrubbing interval can be increased to improve
performance so the reads are not issued as frequently.
NOTE: Scrubbing cannot be enabled until after the controller has cleared
DDR_SDRAM_CFG_2[D_INIT].
0000b - Periodic reads for ECC scrubbing will not be issued.
0001b - A read will be issued every refresh sequence.
0010b - A read will be issued every 2 refresh sequences.
0011b - A read will be issued every 4 refresh sequences.
0100b - A read will be issued every 8 refresh sequences.
0101b - A read will be issued every 16 refresh sequences.
0110b - A read will be issued every 32 refresh sequences.
0111b - A read will be issued every 64 refresh sequences.
1000b - A read will be issued every 128 refresh sequences.
1001b - A read will be issued every 256 refresh sequences.
1010b - A read will be issued every 512 refresh sequences.
1011b - A read will be issued every 1024 refresh sequences.
1100b - A read will be issued every 2048 refresh sequences.
1101b - A read will be issued every 4096 refresh sequences.
1110b - A read will be issued every 8192 refresh sequences.
1111b - A read will be issued every 16,384 refresh sequences.
8-11 Reserved.
—
12 Reserved.
—
13 Reserved.
—
14-15 Reserved.
—
16-17 Reserved.
—
18-19 Data mask config.
DM_CFG Determines how the MDM pins will be utilized for the DDR controller.
00b - Normal data masks will be used based on DDR_SDRAM_CFG[SDRAM_TYPE].
01b - Reserved.
10b - Data bus inversion (DBI) will be used by utilizing the MDM pins.
11b - Neither data mask or data bus inversion will be used. The MDM pins will be held low for
DDR3 by the controller.The MDM pins will be held high for DDR4 by the controller.
Field Function
20-21 Reserved.
—
22-23 Refresh Mode.
REF_MODE This field allows programming for fine granularity refresh defined by DDR4 specifications. The fine
granularity refresh mode is supported by allowing full programmability of the
DDR_SDRAM_CFG_2[NUM_PR] and DDR_SDRAM_INTERVAL[REFINT] timings. However, this field is
required to notify the controller how many refreshes to issue when exitting self refresh. If fine granularity
refresh mode will be used, then it must enabled after the DDR controller has been enabled, per the
DRAM requirement to use 1x mode during initial MRS commands. Therefore, software must issue the
required MRS commands via DDR_SDRAM_MD_CNTL register to allow the DRAM to enter fine
granularity refresh mode. On-the-fly fine granularity refresh mode is not supported.
00b - Fine granularity refresh disabled.
01b - 2x fine granularity refresh mode.
10b - 4x fine granularity refresh mode.
11b - Reserved
24-25 Reserved.
—
26-27 Reserved.
—
28 Reserved.
—
29 Reserved.
—
30 Reserved.
—
31 Disable MRS on Parity Error.
DIS_MRS_PAR This bit controls the automatic MR command that may be issued upon a parity error. This bit should be
set if using parity.
If using parity with discrete devices, MR5 should be set to automatically re-enable parity checking after an
error.
0b - Issue an MR command to clear the parity error in the DRAM when a parity error is observed. If
parity is enabled when using DDR4 memories, then this bit must be set. In this case, software is
responsible for clearing the DRAM's mode register parity error bit if required. However, the DRAM
should be configured for persistent parity errors by setting MR5[A9] when initializing the DDR
controller to program the DRAM Mode Registers. This will ensure that the DDR4 DRAM will
continue to check parity errors until software can clear a previous parity error.
1b - Do not issue an MR command to clear the parity error on the DRAM. Software is responsible
for clearing parity errors if required via the DDR_SDRAM_MD_CNTL register.
18.4.49.1 Offset
Register Offset
DDR_DQ_MAP0 400h
18.4.49.2 Function
DQ_MAP0-DQ_MAP3 should be programmed to reflect how the DQ bits are swizzled
on the DIMMs. Note that if a board has further swizzling within the nibbles of the DQ
signals, then that needs to be accounted for when programming these fields. In addition,
if multiple modules are used in the system, they must use the same raw card design (such
that the swizzling is identical between DIMMs).
For each of the DQ mapping fields, the encodings are shown in the accompanying table.
These bitfields apply to nibbles of data; therefore, they must normally be set in pairs. (For
example, DQ_0_3 and DQ_4_7 must be set together.)
Table 18-7. Bitfield settings for each byte lane
Setting DQ0 DQ1 DQ2 DQ3
DQ4 DQ5 DQ6 DQ7
0x00 0 1 2 3
0x01 0 1 2 3
0x02 0 1 3 2
0x03 0 2 1 3
0x04 0 2 3 1
0x05 0 3 1 2
0x06 0 3 2 1
0x07 1 0 2 3
0x08 1 0 3 2
0x09 1 2 0 3
0x0a 1 2 3 0
0x0b 1 3 0 2
0x0c 1 3 2 0
0x0d 2 0 1 3
0x0e 2 0 3 1
0x0f 2 1 0 3
0x10 2 1 3 0
0x11 2 3 0 1
0x12 2 3 1 0
18.4.49.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
DQ_0_3 DQ_4_7 DQ_8_11
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
RESERVE
DQ_12_15
DQ_16_19
DQ_8_11
D
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.49.4 Fields
Field Function
0-5 DQ[0:3] Mapping.
DQ_0_3 See Table 18-7 and the text describing this register for settings.
6-11 DQ[4:7] Mapping.
DQ_4_7 See Table 18-7 and the text describing this register for settings.
12-17 DQ[8:11] Mapping.
DQ_8_11 See Table 18-7 and the text describing this register for settings.
18-23 DQ[12:15] Mapping.
DQ_12_15 See Table 18-7 and the text describing this register for settings.
24-29 DQ[16:19] Mapping.
DQ_16_19 See Table 18-7 and the text describing this register for settings.
30-31 Reserved.
RESERVED These bits are writeable, but they are unused.
18.4.50.1 Offset
Register Offset
DDR_DQ_MAP1 404h
18.4.50.2 Function
DQ_MAP0-DQ_MAP3 should be programmed to reflect how the DQ bits are swizzled
on the DIMMs. See further details at DQ mapping register 0 (DDR_DQ_MAP0).
18.4.50.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
DQ_20_23 DQ_24_27 DQ_28_31
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
RESERVE
DQ_28_31
DQ_32_35
W DQ_36_39
D
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.50.4 Fields
Field Function
0-5 DQ[20:23] Mapping.
DQ_20_23 See the table and description in DQ mapping register 0 (DDR_DQ_MAP0) for settings.
6-11 DQ[24:27] Mapping.
DQ_24_27 See the table and description in DQ mapping register 0 (DDR_DQ_MAP0) for settings.
12-17 DQ[28:31] Mapping.
DQ_28_31 See the table and description in DQ mapping register 0 (DDR_DQ_MAP0) for settings.
18-23 DQ[32:35] Mapping.
DQ_32_35 See the table and description in DQ mapping register 0 (DDR_DQ_MAP0) for settings.
24-29 DQ[36:39] Mapping.
DQ_36_39 See the table and description in DQ mapping register 0 (DDR_DQ_MAP0) for settings.
30-31 Reserved.
RESERVED These bits are writeable, but they are unused.
18.4.51.1 Offset
Register Offset
DDR_DQ_MAP2 408h
18.4.51.2 Function
DQ_MAP0-DQ_MAP3 should be programmed to reflect how the DQ bits are swizzled
on the DIMMs. See further details at DQ mapping register 0 (DDR_DQ_MAP0).
18.4.51.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
DQ_40_43 DQ_44_47 DQ_48_51
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
RESERVE
DQ_48_51
DQ_52_55
DQ_56_59
D
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.51.4 Fields
Field Function
0-5 DQ[40:43] Mapping.
DQ_40_43 See the table and description in DQ mapping register 0 (DDR_DQ_MAP0) for settings.
6-11 DQ[44:47] Mapping.
DQ_44_47 See the table and description in DQ mapping register 0 (DDR_DQ_MAP0) for settings.
12-17 DQ[48:51] Mapping.
DQ_48_51 See the table and description in DQ mapping register 0 (DDR_DQ_MAP0) for settings.
18-23 DQ[52:55] Maping.
Table continues on the next page...
Field Function
DQ_52_55 See the table and description in DQ mapping register 0 (DDR_DQ_MAP0) for settings.
24-29 DQ[56:59] Mapping.
DQ_56_59 See the table and description in DQ mapping register 0 (DDR_DQ_MAP0) for settings.
30-31 Reserved.
RESERVED These bits are writeable, but they are unused.
18.4.52.1 Offset
Register Offset
DDR_DQ_MAP3 40Ch
18.4.52.2 Function
DQ_MAP0-DQ_MAP3 should be programmed to reflect how the DQ bits are swizzled
on the DIMMs. See further details at DQ mapping register 0 (DDR_DQ_MAP0).
18.4.52.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
DQ_60_63 ECC_0_3 ECC_4_7
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ECC_4_7
Reserved
OR
W
S
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.52.4 Fields
Field Function
0-5 DQ[60:63] Mapping.
DQ_60_63 See the table and description in DQ mapping register 0 (DDR_DQ_MAP0) for settings.
6-11 ECC[0:3] Mapping.
ECC_0_3 See the table and description in DQ mapping register 0 (DDR_DQ_MAP0) for settings.
12-17 ECC[4:7] Mapping.
ECC_4_7 See the table and description in DQ mapping register 0 (DDR_DQ_MAP0) for settings.
18-30 Reserved
—
31 Odd rank swizzle.
ORS If this bit is cleared, then CS1 and CS3 follow the same swizzling as CS0 and CS2. If this bit is set, then
CS1 and CS3 are further swizzled by swapping bits 0 vs 1, 2 vs 3, 4 vs 5, and 6 vs 7 within each byte.
18.4.53.1 Offset
Register Offset
DDRDSR_1 B20h
18.4.53.2 Function
The DDRDSR_1 register contains the current settings of the driver impedance for the
command/control and data.
18.4.53.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R CZ DZ
Reserved Reserved
W
Reset 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
18.4.53.4 Fields
Field Function
0-15 Reserved.
—
16 Command Impedance.
CZ Current setting of driver command impedance
17-23 Reserved.
—
24 Data Impedance.
DZ Current setting of driver data impedance
25-31 Reserved.
—
18.4.54.1 Offset
Register Offset
DDRDSR_2 B24h
18.4.54.2 Function
The DDRDSR_2 register contains the current settings of the driver impedance for the
DDR drivers for clocks.
18.4.54.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
CLKZ
Reset 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
W1C RPD_END
RPD_S
R
Reserved
T
W1C
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.54.4 Fields
Field Function
0 Clock Impedance.
CLKZ Current setting of driver clock impedance
1-29 Reserved.
—
30 Rapid clear of memory start.
RPD_ST See DDR Rapid Clear of Memory for more information.
0b - The rapid clear of memory function has not been started.
1b - The rapid clear of memory function has started. During the rapid clear of memory, writes to the
DDR memory mapped registers will not affect the register contents. This bit is cleared by software
writing a 1.
31 Rapid clear of memory end.
RPD_END See DDR Rapid Clear of Memory for more information.
0b - The rapid clear of memory function has not ended.
1b - The rapid clear of memory function has completed. This bit is cleared by software writing a 1.
18.4.55.1 Offset
Register Offset
DDRCDR_1 B28h
18.4.55.2 Function
DDRCDR_1 sets the hardware DDR driver calibration enable, the ODT termination
value for IOs, and the software override enables for address/command and data bus
signals. The combined DDRCDR_1[ODT] and DDRCDR_2[ODT] set the on-die-
termination values in the memory controller for the data bus signals. Hardware DDR
driver calibration must be enabled by setting DDRCDR_1[DHC_EN]. MDIC pins are
required to be connected to proper calibration resistors. The proper value and connection
of the MDIC resistor are specified in the corresponding device data sheet document.
The global half-strength override field DDR_SDRAM_CFG[HSE] or software overrides
in DDRCDR_1 or DDRCDR_2 registers determine whether the DDR drivers calibrate to
full-strength or half-strength. The software overrides in DDRCDR_1 or DDRCDR_2
registers take precedence over the DDR_SDRAM_CFG[HSE] setting.
NOTE
All driver calibration related registers should be set 500 μs
before the DDR controller is enabled (that is, before
DDR_SDRAM_CFG[MEM_EN] is set).
This table lists the valid impedance override values. Note that the drivers may be
calibrated to either full-strength or half-strength.
Table 18-8. Valid Impedance Override Values
Driver impedance Impedance Override Value
Highest 0
Lowest 1
18.4.55.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
DSO_C_EN
DSO_D_EN
DHC_EN
Reserved
ODT
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
DSO_CZ
DSO_DZ
Reserved
Reserved
W
Reset 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
18.4.55.4 Fields
Field Function
0 Driver Hardware Calibration Enable.
DHC_EN DDR driver hardware compensation enable. If this bit is set to enable automatic hardware compensation,
then 200 microseconds should pass after setting this bit, and before setting
DDR_SDRAM_CFG[MEM_EN].
1-11 Reserved
— These bits are writeable, but they are unused.
12-13 On-Die-Termination.
ODT ODT termination value for IOs. This is combined with DDRCDR_2[ODT] to determine the termination
value. Below is the termination based on concatenating these two fields.
Note that the order of concatenation is from left to right
DDRCDR_1[ODT], DDRCDR_2[ODT]
Field Function
16 Override for Command Impedance.
DSO_CZ DDR driver software command impedance override
17-23 Reserved.
— These bits are writeable, but they are unused.
24 Override For Data Impedance.
DSO_DZ Driver software data impedance override
25-31 Reserved.
— These bits are writeable, but they are unused.
18.4.56.1 Offset
Register Offset
DDRCDR_2 B2Ch
18.4.56.2 Function
The DDRCDR_2 sets the driver software override enable for clocks, and the DDR clocks
driver P/N impedance.
18.4.56.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
DSO_CLK_EN
DSO_CLKZ
Reserved
Reserved
Reserved
W
Reset 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
VREF_DRAM_RANGE
VREF_OVRD_VAL
VREF_TRAIN_EN
VREF_OVRD_EN
Reserved
Reserved
ODT
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.56.4 Fields
Field Function
0 Override Enable for Clock Impedance.
DSO_CLK_EN Driver software override enable for clocks
1-3 Reserved.
—
4 Override Value for Clock Impedance.
DSO_CLKZ Driver software clocks impedance override
5-11 Reserved.
—
12-15 Reserved.
—
16 Internal VRef Override Enable.
VREF_OVRD_E If DDR4 mode is used, then an internal VRef is generated an used for the data bus. By default, this
N internal VRef value will be trained. However, the training can be disabled by this override.
0b - Internal VRef will be trained if DDR4 mode is used.
1b - Internal VRef will be defined by the VREF_OVRD_VAL field of this register.
17 Reserved.
—
18-23 Internal VRef Override Value.
Table continues on the next page...
Field Function
VREF_OVRD_V This field defines the override value to use for the internal VRef if VREF_OVRD_EN is set. The values
AL below are targetted percentages of GVdd for the internal VRef. However, it is highly recommended to
leave the VREF_OVRD_EN bit cleared to allow VRef to be trained for the best read margins.
000000b - 37%
000001b - 38%
000010b - 39%
111110b - 99%
111111b - 100%
24 DRAM VRef Train Enable
VREF_TRAIN_E In addition to the internal VRef training, the DRAM's VRef may also be trained. This bit can be set to
N automatically enable DRAM VRef training. This bit should be cleared for DDR3 mode.
0b - DRAM VRef will not be trained.
1b - DRAM VRef will be trained.
25 VRef DRAM Range.
VREF_DRAM_R If using DRAM VRef training, this bit will specify whether Range 1 or Range 2 will be trained.
ANGE
0b - DRAM VRef Range 1 will be used for training.
1b - DRAM VRef Range 2 will be used for training.
26-30 Reserved.
—
31 On-Die Termination
ODT ODT termination value for IOs. This is combined with DDRCDR_1[ODT] to determine the termination
value. Below is the termination based on concatenating these two fields.
Note that the order of concatenation is (from left to right)
DDRCDR_1[ODT], DDRCDR_2[ODT]
18.4.57.1 Offset
Register Offset
DDR_IP_REV1 BF8h
18.4.57.2 Function
The DDR IP block revision 1 register provides read-only fields with the IP block ID,
along with major and minor revision information.
18.4.57.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R IP_ID
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R IP_MJ IP_MN
W
Reset 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1
18.4.57.4 Fields
Field Function
0-15 IP block ID.
IP_ID For the DDR controller, this value is 0x0002.
16-23 Major revision.
IP_MJ This is currently set to 0x05.
24-31 Minor revision.
IP_MN This is currently set to 8'd1.
18.4.58.1 Offset
Register Offset
DDR_IP_REV2 BFCh
18.4.58.2 Function
The DDR IP block revision 2 register provides read-only fields with the IP block
integration and configuration options.
18.4.58.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R IP_INT
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R IP_CFG
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.58.4 Fields
Field Function
0-7 Reserved.
—
8-15 IP Block Integration Options.
IP_INT
16-23 Reserved.
—
24-31 IP Block Configuration Options.
IP_CFG
18.4.59.1 Offset
Register Offset
DDR_MTCR D00h
18.4.59.2 Function
The DDR Memory Test Control Register provides the enable and controls for an
automatic memory test.
18.4.59.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
MT_TRNARND
Reserved
MT_TYP
Reserved
MT_EN
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
MT_ADDR_EN
MT_STAT
Reserved
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.59.4 Fields
Field Function
0 Memory Test Enable.
MT_EN This bit can be set by software to enable the memory test. Based on the value of MT_TYP, the controller
will either issue writes only, reads only, or it will issue writes and reads.The memory controller will issue
transactions throughout all of memory, as defined by the CSn_CONFIG and CSn_BNDS registers. The
memory controller will check the data during this test. In addition, the ERR_DETECT register should be
read by software if ECC is enabled after the memory test to ensure there were no ECC errors. If an ECC
error is detected, the error capture registers will hold the address, data, and attributes captured for the
first fail. If there is no ECC error and the test failed (for a data miscompare), then the capture registers will
hold information for the transaction that caused the first data miscompare. Note that transactions with
Table continues on the next page...
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
816 NXP Semiconductors
Chapter 18 DDR Memory Controller
Field Function
ECC errors will take priority in the capture registers. Hardware will clear MT_EN after the memory test is
complete. This bit can be set before DDR_SDRAM_CFG[MEM_EN] is set, or it can be set again after the
memory controller has been enabled.
0b - Memory test has been disabled.
1b - Memory test has been enabled. Hardware will clear this bit when it is complete.
1-5 Reserved.
—
6-7 Memory Test Type.
MT_TYP This field will determine if the memory test will issue writes only, reads only, or both writes and reads.
Note that the 'read only' test should not be used unless memory has already been initialized.
00b - Memory test will issue writes and reads.
01b - Memory test will issue writes only.
10b - Memory test will issue reads only.
11b - Reserved
8-11 Reserved.
—
12-15 Memory Test Turnaround.
MT_TRNARND This field determines how many writes will be issued during the memory test before the reads to the
same addresses will be issued. This can be used to allow longer streams of writes/reads, and it can be
used to test the write->read and read->write turnarounds in a stressful manner. This field is only relevant
if MT_TYP is set to 2'b00.
0000b - Entire memory will be written before read transactions are issued.
0001b - Total write/read streams will be 1 transaction each.
0010b - Total write/read streams will be 2 transactions each.
0011b - Total write/read streams will be 4 transactions each.
0100-1111b - Reserved
16-21 Reserved.
—
22 Memory Test Address Range Enable.
MT_ADDR_EN If this bit is set, then the address range defined in the DDR_MT_ST_EXT_ADDR, DDR_MT_ST_ADDR,
DDR_MT_END_EXT_ADDR, and DDR-MT_END_ADDR registers will be used.
Please note the following restrictions when using this field to limit the address range to be tested: For any
individual test, neither the starting address (DDR_MT_ST_EXT_ADDR || DDR_MT_ST_ADDR) nor the
ending address (DDR_MT_END_EXT_ADDR || DDR_MT_END_ADDR) can be less than that used
during the previous test. In addition, this field cannot be set if MTCR[MT_TRNARND] is set to 0b0000.
0b - Full memory range defined by CSa_BNDS registers will be used for the memory test.
1b - Memory range defined by DDR_MT_ST_EXT_ADDR, DDR_MT_ST_ADDR,
DDR_MT_END_EXT_ADDR, and DDR_MT_END_ADDR is used.
23-30 Reserved.
—
31 Memory Test Status.
MT_STAT After hardware clears MT_EN, this bit will be set if there was a fail. If there is a fail during the memory test
(that is, a data miscompare), then this bit will be set at the same time that MT_EN is cleared. Software
can clear this bit after it has been set.
0b - No fail has been detected.
1b - A data miscompare was detected during the memory test.
18.4.60.1 Offset
For a = 1 to 10:
Register Offset
DDR_MTPa D1Ch + (a × 4h)
18.4.60.2 Function
The DDR memory test pattern n register provides the data pattern that will be written
during the nth set of 32-bits of each 40-byte memory test pattern. This is used when
DDR_MTCR[MT_EN] is set to enable the memory write/read test.
NOTE
Memory test read compares data that is written in this register.
18.4.60.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
DDR_PATT
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
DDR_PATT
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.60.4 Fields
Field Function
0-31 DDR Pattern.
Field Function
DDR_PATT This 32-bit pattern will be used during the memory test if enabled via DDR_MTCR[MT_EN]. This memory
test will write/read a programmable 40-byte pattern. The 10 DDR_MTPn registers will create the 40-byte
pattern that is used.
18.4.61.1 Offset
Register Offset
DDR_MT_ST_EXT_AD D60h
DR
18.4.61.2 Function
The DDR memory test start extended address register provides the extended address that
will be used with DDR_MTCR[MT_ADDR_EN] is set.
18.4.61.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved MT_ST_EXT_ADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.61.4 Fields
Field Function
0-23 Reserved.
—
24-31 Memory Test Start Extended Address.
MT_ST_EXT_A This field represents the starting extended address that will be used when MTCR[MT_ADDR_EN] is set.
DDR
Please note the following restriction when using DDR_MTCR[MT_ADDR_EN] to limit the address range
to be tested: For any individual test, neither the starting address (DDR_MT_ST_EXT_ADDR ||
DDR_MT_ST_ADDR) nor the ending address (DDR_MT_END_EXT_ADDR || DDR_MT_END_ADDR)
can be less than that used during the previous test.
18.4.62.1 Offset
Register Offset
DDR_MT_ST_ADDR D64h
18.4.62.2 Function
The DDR memory test start address register provides the address that will be used with
DDR_MTCR[MT_ADDR_EN] is set.
18.4.62.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
MT_ST_ADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
MT_ST_ADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.62.4 Fields
Field Function
0-31 Memory Test Start Address.
MT_ST_ADDR This field represents the starting address that will be used when MTCR[MT_ADDR_EN] is set.
Please note the following restriction when using DDR_MTCR[MT_ADDR_EN] to limit the address range
to be tested: For any individual test, neither the starting address (DDR_MT_ST_EXT_ADDR ||
DDR_MT_ST_ADDR) nor the ending address (DDR_MT_END_EXT_ADDR || DDR_MT_END_ADDR)
can be less than that used during the previous test.
18.4.63.1 Offset
Register Offset
DDR_MT_END_EXT_A D68h
DDR
18.4.63.2 Function
The DDR memory test end extended address register provides the extended address that
will be used with DDR_MTCR[MT_ADDR_EN] is set.
18.4.63.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved MT_END_EXT_ADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.63.4 Fields
Field Function
0-23 Reserved.
—
24-31 Memory Test End Extended Address.
MT_END_EXT_ This field represents the ending extended address that will be used when MTCR[MT_ADDR_EN] is set.
ADDR
Please note the following restriction when using DDR_MTCR[MT_ADDR_EN] to limit the address range
to be tested: For any individual test, neither the starting address (DDR_MT_ST_EXT_ADDR ||
DDR_MT_ST_ADDR) nor the ending address (DDR_MT_END_EXT_ADDR || DDR_MT_END_ADDR)
can be less than that used during the previous test.
18.4.64.1 Offset
Register Offset
DDR_MT_END_ADDR D6Ch
18.4.64.2 Function
The DDR memory test end address register provides the address that will be used with
DDR_MTCR[MT_ADDR_EN] is set.
18.4.64.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
MT_END_ADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
MT_END_ADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.64.4 Fields
Field Function
0-31 Memory Test End Address.
MT_END_ADDR This field represents the ending address that will be used when MTCR[MT_ADDR_EN] is set.
Please note the following restriction when using DDR_MTCR[MT_ADDR_EN] to limit the address range
to be tested: For any individual test, neither the starting address (DDR_MT_ST_EXT_ADDR ||
DDR_MT_ST_ADDR) nor the ending address (DDR_MT_END_EXT_ADDR || DDR_MT_END_ADDR)
can be less than that used during the previous test.
18.4.65.1 Offset
Register Offset
DATA_ERR_INJECT_HI E00h
18.4.65.2 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
EIMH
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
EIMH
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.65.3 Fields
Field Function
0-31 Error injection mask high data path.
EIMH Used to test ECC by forcing errors on the high word of the data path. Setting a bit causes the
corresponding data path bit to be inverted on memory bus writes.
18.4.66.1 Offset
Register Offset
DATA_ERR_INJECT_LO E04h
18.4.66.2 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
EIML
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
EIML
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.66.3 Fields
Field Function
0-31 Error injection mask low data path.
EIML Used to test ECC by forcing errors on the low word of the data path. Setting a bit causes the
corresponding data path bit to be inverted on memory bus writes.
18.4.67.1 Offset
Register Offset
ECC_ERR_INJECT E08h
18.4.67.2 Function
The memory data path error injection mask ECC register sets the ECC mask, enables
errors to be written to ECC memory, and allows the ECC byte to mirror the most
significant data byte. In addition, a single address parity error may be injected through
this register.
18.4.67.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
Reserved
Reserved
Reserved
APIEN
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
EMB
EIE
EEI
W
M
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.67.4 Fields
Field Function
0 Reserved.
—
1-3 Reserved.
—
4-11 Reserved.
—
12-14 Reserved.
—
15 Address parity error injection enable.
APIEN This bit will be cleared by hardware after a single address parity error has been injected.
0b - Address parity error injection disabled.
1b - Address parity error injection enabled.
16-21 Reserved.
—
22 ECC Mirror Byte.
0b - Mirror byte functionality disabled.
EMB
1b - Mirror the most significant data path byte onto the ECC byte.
23 Error Injection Enable.
0b - Error injection disabled.
EIEN
1b - Error injection enabled. This applies to the data mask bits, the ECC mask bits, and the ECC
mirror bit. Note that error injection should not be enabled until the memory controller has been
enabled via DDR_SDRAM_CFG[MEM_EN].
24-31 ECC error injection mask.
EEIM Setting a mask bit causes the corresponding ECC bit to be inverted on memory bus writes.
18.4.68.1 Offset
Register Offset
CAPTURE_DATA_HI E20h
18.4.68.2 Function
The memory data path read capture high register stores the high word of the read data
path during error capture.
18.4.68.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ECHD
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ECHD
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.68.4 Fields
Field Function
0-31 Error capture high data path.
ECHD Captures the high word of the data path when errors are detected.
18.4.69.1 Offset
Register Offset
CAPTURE_DATA_LO E24h
18.4.69.2 Function
The memory data path read capture low register stores the low word of the read data path
during error capture.
18.4.69.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ECLD
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ECLD
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.69.4 Fields
Field Function
0-31 Error capture low data path.
ECLD Captures the low word of the data path when errors are detected.
18.4.70.1 Offset
Register Offset
CAPTURE_ECC E28h
18.4.70.2 Function
The memory data path read capture ECC register stores the ECC syndrome bits that were
on the data bus when an error was detected.
18.4.70.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ECE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ECE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.70.4 Fields
Field Function
0-31 Error capture ECC.
ECE Captures the ECC bits on the data path whenever errors are detected.
32-bit mode:
• 0:7 should be ignored
• 8:15 8-bit ECC for the 32 bits in beats 0, 2, 4, 6 in 32-bit bus mode
• 16:23 should be ignored
• 24:31 8-bit ECC for the 32 bits in beats 1, 3, 5, 7 in 32-bit bus mode
16-bit mode:
• 0:7 8-bit ECC for the 16 bits in beats 0 and 4
• 8:15 8-bit ECC for the 16 bits in beats 1 and 5
• 16:23 8-bit ECC for the 16 bits in beats 2 and 6
• 24:31 8-bit ECC for the 16 bits in beats 3 and 7
18.4.71.1 Offset
Register Offset
ERR_DETECT E40h
18.4.71.2 Function
The memory error detect register stores the detection bits for multiple memory errors,
single- and multiple-bit ECC errors, and memory select errors. It is a read/write register.
A bit can be cleared by writing a one to the bit. System software can determine the type
of memory error by examining the contents of this register. If an error is disabled with
ERR_DISABLE, the corresponding error is never detected or captured in
ERR_DETECT.
18.4.71.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
W1C MME
R
Reserved
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
W1C CDE
W1C MBE
W1C ACE
W1C SSB
R
SB
W1C MS
Reserved
Reserved
Reserved
Reserved
W1C AP
E
E
E
E
W1C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.71.4 Fields
Field Function
0 Multiple memory errors.
MME This bit is cleared by software writing a 1.
0b - Multiple memory errors of the same type were not detected.
1b - Multiple memory errors of the same type were detected.
1-14 Reserved.
—
15-18 Reserved.
—
19 Scrubbed single-bit ECC error.
SSBE This bit is cleared by software writing a 1.
0b - The number of scrubbed single-bit ECC errors detected has not crossed the threshold set in
ERR_SBE[SBET].
1b - The number of scrubbed single-bit ECC errors detected crossed the threshold set in
ERR_SBE[SBET].
20-22 Reserved.
—
23 Address parity error.
APE This bit is cleared by software writing a 1.
0b - An address parity error has not been detected.
1b - An address parity error has been detected.
24 Automatic calibration error.
ACE This bit is cleared by software writing a 1.
0b - An automatic calibration error has not been detected.
1b - An automatic calibration error has been detected.
25-26 Reserved.
—
27 Corrupted data error.
CDE This bit is cleared by software writing a 1.
0b - A corrupted data error has not been detected.
1b - A corrupted data error has been detected. This bit will be set if the actual ECC is inverted from
the expected ECC during a read command. The memory controller will intentionally invert the ECC
code if DDR_SDRAM_CFG_2[CD_DIS] is cleared when corrupted data is written to memory. The
ERR_DETECT[MBE] bit will also be set when a corrupted data error is detected. Note it is also
possible for a 2-bit data error to cause the ECC code to become inverted, which would either mask
a corrupted data error or cause a normal multi-bit error to also appear as a corrupted data error.
28 Multiple-bit error.
MBE This bit is cleared by software writing a 1.
0b - A multiple-bit error has not been detected.
1b - A multiple-bit error has been detected.
29 Single-bit ECC error.
SBE This bit is cleared by software writing a 1.
Table continues on the next page...
Field Function
0b - The number of single-bit ECC errors detected has not crossed the threshold set in
ERR_SBE[SBET].
1b - The number of single-bit ECC errors detected crossed the threshold set in ERR_SBE[SBET].
30 Reserved.
—
31 Memory select error.
MSE This bit is cleared by software writing a 1.
0b - A memory select error has not been detected.
1b - A memory select error has been detected.
18.4.72.1 Offset
Register Offset
ERR_DISABLE E44h
18.4.72.2 Function
The memory error disable register allows selective disabling of the DDR controller's
error detection circuitry. Disabled errors are not detected or reported.
18.4.72.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
Reserved
Reserved
Reserved
MSED
CDED
MBED
APED
ACED
SSBE
SBE
W
D
D
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.72.4 Fields
Field Function
0-14 Reserved.
—
15-18 Reserved.
—
19 Scrubbed single-bit ECC error disable.
SSBED Note that if this bit is set, then single-bit ECC errors will not be automatically fixed by hardware, even if
ECC scrubbing is enabled.
0b - Scrubbed single-bit ECC errors are enabled.
1b - Scrubbed single-bit ECC errors are disabled.
20-22 Reserved.
—
23 Address parity error disable.
0b - Address parity errors are detected if DDR_SDRAM_CFG_2[AP_EN] is set. They are reported if
APED
ERR_INT_EN[APEE] is set.
1b - Address parity errors are not detected or reported.
24 Automatic calibration error disable.
0b - Automatic calibration errors are enabled.
ACED
1b - Automatic calibration errors are disabled.
25-26 Reserved.
—
27 Corrupted data error disable.
0b - Corrupted data error checking is enabled.
CDED
1b - Corrupted data error checking is disabled.
28 Multiple-bit ECC error disable.
0b - Multiple-bit ECC errors are detected if DDR_SDRAM_CFG[ECC_EN] is set. They are reported
MBED
if ERR_INT_EN[MBEE] is set. See Error Management for more information.MBED must be zero
and ERR_INT_EN[MBEE] and ECC_EN must be one to ensure that an interrupt is generated.
1b - Multiple-bit ECC errors are not detected or reported.
29 Single-bit ECC error disable.
SBED Note that if this bit is set, then single-bit ECC errors will not be automatically fixed by hardware, even if
ECC fixing is enabled.
0b - Single-bit ECC errors are enabled.
1b - Single-bit ECC errors are disabled.
30 Reserved
—
31 Memory select error disable.
0b - Memory select errors are enabled.
MSED
1b - Memory select errors are disabled.
18.4.73.1 Offset
Register Offset
ERR_INT_EN E48h
18.4.73.2 Function
The memory error interrupt enable register enables ECC interrupts or memory select
error interrupts. When an enabled interrupt condition occurs, the internal int_B signal is
asserted to the programmable interrupt controller (PIC).
18.4.73.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
Reserved
Reserved
Reserved
SSBE
SBE
MSE
CDE
MBE
APE
ACE
W
E
E
E
E
E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.73.4 Fields
Field Function
0-14 Reserved.
—
15-18 Reserved.
—
19 Scrubbed single-bit ECC error interrupt enable.
Table continues on the next page...
Field Function
SSBEE 0b - Scrubbed single-bit ECC errors cannot generate interrupts.
1b - Scrubbed single-bit ECC errors generate interrupts.
20-22 Reserved.
—
23 Address parity error interrupt enable.
0b - Address parity errors cannot generate interrupts.
APEE
1b - Address parity errors generate interrupts.
24 Automatic calibration error interrupt enable.
0b - Automatic calibration errors cannot generate interrupts.
ACEE
1b - Automatic calibration errors generate interrupts.
25-26 Reserved.
—
27 Corrupted data error interrupt enable.
0b - Corrupted data errors cannot generate interrupts.
CDEE
1b - Corrupted data errors generate interrupts.
28 Multiple-bit ECC error interrupt enable.
MBEE See Error Management for more information. Note that uncorrectable read errors may cause an interrupt.
ERR_DISABLE[MBED] must be zero and MBEE and DDR_SDRAM_CFG[ECC_EN] must be set to
ensure that an interrupt is generated.
0b - Multiple-bit ECC errors cannot generate interrupts.
1b - Multiple-bit ECC errors generate interrupts.
29 Single-bit ECC error interrupt enable.
0b - Single-bit ECC errors cannot generate interrupts.
SBEE
1b - Single-bit ECC errors generate interrupts.
30 Reserved
—
31 Memory select error interrupt enable.
0b - Memory select errors do not cause interrupts.
MSEE
1b - Memory select errors generate interrupts.
18.4.74.1 Offset
Register Offset
CAPTURE_ATTRIBUT E4Ch
ES
18.4.74.2 Function
The memory error attributes capture register sets attributes for errors including type, size,
source, and others.
18.4.74.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
Reserved
BNUM
TSIZ
TSR
W
C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
Reserved
TTYP
VLD
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.74.4 Fields
Field Function
0 Reserved.
—
1-3 Data beat number.
BNUM Captures the doubleword number for the detected error. Relevant only for ECC errors.
4 Reserved.
—
5-7 Transaction size for the error.
TSIZ Captures the transaction size in double words.
000b - 8 double words
001b - 1 double word
010b - 2 double words
011b - 3 double words
100b - 4 double words
101b - 5 double word
110b - 6 double words
111b - 7 double words
8-15 Transaction source for the error.
TSRC See the Global Source and Target IDs section in the Memory Map chapter for the defined encoding.
Field Function
16-17 Reserved.
—
18-19 Transaction type for the error.
00b - Reserved
TTYP
01b - Write
10b - Read
11b - Read-modify-write
20-30 Reserved.
—
31 Valid.
VLD Set as soon as valid information is captured in the error capture registers.
18.4.75.1 Offset
Register Offset
CAPTURE_ADDRESS E50h
18.4.75.2 Function
The memory error address capture register holds the 32 lsbs of a transaction when a DDR
ECC error is detected.
18.4.75.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
CADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
CADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.75.4 Fields
Field Function
0-31 Captured address.
CADDR Captures the 32 lsbs of the transaction address when an error is detected.
18.4.76.1 Offset
Register Offset
CAPTURE_EXT_ADDR E54h
ESS
18.4.76.2 Function
The memory error extended address capture register holds the four most significant
transaction bits when an error is detected.
18.4.76.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved CEADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.76.4 Fields
Field Function
0-23 Reserved.
—
24-31 Captured extended address.
CEADDR Captures the 8 msbs of the transaction address when an error is detected
18.4.77.1 Offset
Register Offset
ERR_SBE E58h
18.4.77.2 Function
The single-bit ECC memory error management register stores the threshold value for
reporting single-bit errors and the number of single-bit errors counted since the last error
report. When the counter field reaches the threshold, it wraps back to the reset value (0).
If necessary, software must clear the counter after it has managed the error.
18.4.77.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
SSBET SBET
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
SSBEC SBEC
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18.4.77.4 Fields
Field Function
0-7 Scrubbed single-bit error threshold.
SSBET Establishes the number of single-bit errors that must be detected and fixed during ECC scrubbing before
an error condition is reported.
8-15 Single-bit error threshold.
SBET Establishes the number of single-bit errors that must be detected before an error condition is reported.
16-23 Scrubbed single-bit error counter.
SSBEC Indicates the number of scrubbed single-bit errors detected and fixed in memory since the last error
report. This counter is incremented only if a single-bit error is detected during the ECC interval scrubbing.
If single-bit error reporting is enabled, an error is reported and an interrupt is generated when this value
equals SSBET. SSBEC is automatically cleared when the threshold value is reached.
24-31 Single-bit error counter.
SBEC Indicates the number of single-bit errors detected and corrected since the last error report. If single-bit
error reporting is enabled, an error is reported and an interrupt is generated when this value equals
SBET. SBEC is automatically cleared when the threshold value is reached.
DDR SDRAM
Request from Memory Array
master Row
Address Address MA[n]
Open
Address from Decode Control MBA[n]
Table
master
DDR SDRAM
Memory Control
MCS[n]
MCAS_B
SDRAM MRAS_B
Control MWE_B
MDM[n]
EN MCKE[n]
To Error Error DQ MODT[n]
Signals ECC
Management
Delay chain Data Strobes
MDQS[n]
Data from DQ MDQS[n]_B
POS
SDRAM
FIFO
Read and write accesses to memory are burst oriented; accesses start at a selected
location and continue for a programmed number of higher locations (4 or 8) in a
programmed sequence. Accesses to closed pages start with the registration of an
ACTIVE command followed by a READ or WRITE. (Accessing open pages does not
require an ACTIVE command.) The address bits registered coincident with the activate
command specifies the logical bank and row to be accessed. The address coincident with
the READ or WRITE command specify the logical bank and starting column for the burst
access.
The data interface is source synchronous, meaning whatever sources the data also
provides a clocking signal to synchronize data reception. These bidirectional data strobes
( MDQS[0:3], MDQS8) are inputs to the controller during reads and outputs during
writes. The DDR SDRAM specification requires the data strobe signals to be centered
within the data tenure during writes and to be offset by the controller to the center of the
data tenure during reads. This delay is implemented in the controller for both reads and
writes.
When ECC is enabled, 1 clock cycle is added to the read path to check ECC and correct
single-bit errors. ECC generation does not add a cycle to the write path.
The address and command interface is also source synchronous, although 1/16 cycle
adjustments are provided for adjusting the clock alignment.
This figure shows an example DDR SDRAM configuration with four physical banks each
comprised of four 8M x 8 DDR modules for a total of 256 Mbytes of system memory.
One of the nine modules is used for the memory's ECC checking function. Certain
address and control lines may require buffering. Analysis of the device's AC timing
specifications, desired memory operating frequency, capacitive loads, and board routing
loads can assist the system designer in deciding signal buffering requirements. The DDR
memory controller drives 16 address pins, but in this example the DDR SDRAM devices
use only 12 bits.
Error Management explains how the DDR memory controller handles errors.
If a transaction request is issued to the DDR memory controller and the address does not
lie within any of the programmed address ranges for an enabled chip select, a memory
select error is flagged. Errors are described in detail in Error Management
By using a memory-polling algorithm at power-on reset or by querying the JEDEC serial
presence detect capability of memory modules, system firmware uses the memory-
boundary registers to configure the DDR memory controller to map the size of each bank
in memory. The memory controller uses its bank map to assert the appropriate MCSn_B
signal for memory accesses according to the provided bank starting and ending addresses.
The memory banks are not required to be mapped to a contiguous address space.
lsb
x
8 9 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 38-3
Col
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 9
MRAS_ 1 1 1 1 1 10 9 8 7 6 5 4 3 2 1 0
16 x 10 x 3
B 5 4 3 2 1
MBA 2 1 0
MCAS_ 9 8 7 6 5 4 3 2 1 0
B
MRAS_ 1 1 1 1 10 9 8 7 6 5 4 3 2 1 0
15 x 10 x 3
B 4 3 2 1
MBA 2 1 0
MCAS_ 9 8 7 6 5 4 3 2 1 0
B
MRAS_ 1 1 1 10 9 8 7 6 5 4 3 2 1 0
14 x 10 x 3
B 3 2 1
MBA 2 1 0
MCAS_ 9 8 7 6 5 4 3 2 1 0
B
MRAS_ 1 1 10 9 8 7 6 5 4 3 2 1 0
13 x 10 x 3
B 2 1
MBA 2 1 0
MCAS_ 9 8 7 6 5 4 3 2 1 0
B
MRAS_ 1 10 9 8 7 6 5 4 3 2 1 0
12 x 10 x 3
B 1
MBA 2 1 0
MCAS_ 9 8 7 6 5 4 3 2 1 0
B
Chip select interleaving is supported for the memory controller, and is programmed in
DDR_SDRAM_CFG[BA_INTLV_CTL]. Interleaving is supported between chip selects
0 and 1 or chip selects 2 and 3. In addition, interleaving between all four chip selects can
be enabled. When interleaving is enabled, the chip selects being interleaved must use the
same size of memory. If two chip selects are interleaved, then 1 extra bit in the address
decode is used for the interleaving to determine which chip select to access. If four chip
selects are interleaved, then two extra bits are required in the address decode.
The following table illustrates examples of address decode when interleaving between
two chip selects.
Table 18-13. Example of Address Multiplexing for 32/64-Bit Data Bus Interleaving Between
Two Banks with Partial Array Self Refresh Disabled
Row ms Address from Core Master lsb
b
x
8 9 1 1 1 1 1 1 1 1 1 1 2 2 2 23 24 2 2 2 2 2 3 3 3 3 3 3 3 37-3
Col
0 1 2 3 4 5 6 7 8 9 0 1 2 5 6 7 8 9 0 1 2 3 4 5 6 9
1 1 1 1 9 8 7 6 5 4 3 2 1 0 CS
MCAS_B MBA MRAS_B MCAS_B MBA MRAS_B
14 x 10 x 3
3 2 1 0 SEL
2 1 0
9 8 7 6 5 4 3 2 1 0
1 1 1 9 8 7 6 5 4 3 2 1 0 CS
13 x 10 x 3
2 1 0 SEL
2 1 0
9 8 7 6 5 4 3 2 1 0
Table 18-14. Example of Address Multiplexing for 32/64-Bit Data Bus Interleaving Between
Two Banks
m Address from Core Master lsb
s
b
Row x Col 6 7 8 9 1 1 1 1 1 1 1 1 1 1 20 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 37-3
0 1 2 3 4 5 6 7 8 9 1 2 3 5 6 7 8 9 0 1 2 3 4 5 6 9
Row x Col 3 3 3 2 2 2 2 2 2 2 2 2 2 1 18 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2-0
2 1 0 9 8 7 6 5 4 3 2 1 0 9 7 6 5 4 3 2 1 0
1 1 1 1 9 8 7 6 5 4 3 2 1 0
CS_SE MACT_B
14 x 10 x 3
3 2 1 0
0
L
Table 18-14. Example of Address Multiplexing for 32/64-Bit Data Bus Interleaving Between
Two Banks (continued)
m Address from Core Master lsb
s
b
Row x Col 6 7 8 9 1 1 1 1 1 1 1 1 1 1 20 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 37-3
0 1 2 3 4 5 6 7 8 9 1 2 3 5 6 7 8 9 0 1 2 3 4 5 6 9
Row x Col 3 3 3 2 2 2 2 2 2 2 2 2 2 1 18 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2-0
2 1 0 9 8 7 6 5 4 3 2 1 0 9 7 6 5 4 3 2 1 0
1 0
MCAS_B MBA MBG CS_SE MACT_B MCAS_B MBA MBG
1 0
9 8 7 6 5 4 3 2 1 0
1 1 1 9 8 7 6 5 4 3 2 1 0
13 x 10 x 3
2 1 0
0
L
1 0
1 0
9 8 7 6 5 4 3 2 1 0
Partial Array Self Refresh (PASR) can be enabled for any chip select using the
CSn_CONFIG_2[PASR_CFG] fields. If PASR is enabled for a given chip select, then the
sub-bank and row decode will be swapped, and the sub-bank will be decoded as the most
significant portion of the DRAM address, as shown in this table.
Table 18-15. Address Multiplexing with Partial Array Self Refresh Enabled
Row ms Address from Core Master lsb
b
x
8 9 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 38-3
Col
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 9
1 1 13 1 1 1 9 8 7 6 5 4 3 2 1 0
MBA MRAS_B
16 x 10 x 3
5 4 2 1 0
2 1 0
Table 18-15. Address Multiplexing with Partial Array Self Refresh Enabled (continued)
Row ms Address from Core Master lsb
b
x
8 9 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 38-3
Col
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 9
9 8 7 6 5 4 3 2 1 0
MCAS_B MBA MRAS_B MCAS_B MBA MRAS_B MCAS_B MBA MRAS_B MCAS_B MBA MRAS_B MCAS_B
1 13 1 1 1 9 8 7 6 5 4 3 2 1 0
15 x 10 x 3
4 2 1 0
2 1 0
9 8 7 6 5 4 3 2 1 0
13 1 1 1 9 8 7 6 5 4 3 2 1 0
14 x 10 x 3
2 1 0
2 1 0
9 8 7 6 5 4 3 2 1 0
1 1 1 9 8 7 6 5 4 3 2 1 0
13 x 10 x 3
2 1 0
2 1 0
9 8 7 6 5 4 3 2 1 0
1 1 9 8 7 6 5 4 3 2 1 0
12 x 10 x 3
1 0
2 1 0
9 8 7 6 5 4 3 2 1 0
the refresh sequence completes, any pending memory request is initiated after an inactive
period specified by TIMING_CFG_1 [REFREC] and TIMING_CFG_3[EXT_REFREC].
In addition, posted refreshes are supported to allow the refresh interval to be set to a
larger value.
Note that in the absence of refresh support, system software must preserve DDR SDRAM
data (such as by copying the data to disk) before entering the power-saving mode.
The dynamic power-saving mode uses the CKE DDR SDRAM pin to dynamically power
down when there is no system memory activity. The CKE pin is negated when both of
the following conditions are met:
• No memory refreshes are scheduled
• No memory accesses are scheduled
CKE is reasserted when a new access or refresh is scheduled or the dynamic power mode
is disabled. This mode is controlled with DDR_SDRAM_CFG[DYN_PWR_MGMT].
Dynamic power management mode offers tight control of the memory system's power
consumption by trading power for performance through the use of CKE. Powering up the
DDR SDRAM when a new memory reference is scheduled causes an access latency
penalty, depending on whether active or precharge powerdown is used, along with the
settings of TIMING_CFG_0[ACT_PD_EXIT] and TIMING_CFG_0[PRE_PD_EXIT].
memory. If a multi-bit error is detected on the read, the transaction completes the read-
modify-write to keep the DDR memory controller from hanging. However, the corrupt
data is masked on the write, so the original contents in SDRAM remain unchanged.
The DDR controller also supports ECC scrubbing, which is enabled via
DDR_SDRAM_CFG_3[ECC_SCRUB_EN]. In this mode, all single-bit errors detected
will be fixed by hardware. In addition, DDR_SDRAM_CFG_3[ECC_SCRUB_INT] can
be programmed to enable periodic reads by the DDR controller to search for and fix
single-bit errors.
The syndrome encodings for the ECC code are shown in these tables.
Table 18-17. DDR SDRAM ECC Syndrome Encoding
Data Bit Syndrome Bit Data Bit Syndrome Bit
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
0 • • • 32 • • •
1 • • • 33 • • •
2 • • • 34 • • •
3 • • • 35 • • •
4 • • • 36 • • •
5 • • • 37 • • •
6 • • • 38 • • • • •
7 • • • 39 • • • • •
8 • • • 40 • • •
9 • • • 41 • • •
10 • • • 42 • • • • •
11 • • • 43 • • • • •
12 • • • • • 44 • • • • •
13 • • • • • 45 • • • • •
14 • • • • • 46 • • • • •
15 • • • • • 47 • • • • •
16 • • • 48 • • •
17 • • • 49 • • •
18 • • • 50 • • •
19 • • • 51 • • •
20 • • • 52 • • •
21 • • • 53 • • •
22 • • • 54 • • •
23 • • • • • 55 • • •
24 • • • 56 • • •
25 • • • 57 • • •
26 • • • 58 • • •
If a multi-bit error is detected for a read, the DDR memory controller logs the error and
generates the machine check or critical interrupt (if enabled, as described in Memory
error disable (ERR_DISABLE)). Another error the DDR memory controller detects is a
memory select error, which causes the DDR memory controller to log the error and
generate a critical interrupt (if enabled, as described in Memory error detect (ERR_DETE
CT)). This error is detected if the address from the memory request does not fall into any
of the enabled, programmed chip select address ranges. For all memory select errors, the
DDR memory controller does not issue any transactions onto the pins after the first read
has returned data strobes. If the DDR memory controller is not using sample points, then
a dummy transaction is issued to DDR SDRAM with the first enabled chip select. In this
case, the source port on the pins is forced to 0x1F to show the transaction is not real.
Table 18-19 shows the errors with their descriptions. The final error the memory
controller detects is the automatic calibration error. This error is set if the memory
controller detects an error during its training sequence.
Table 18-19. Memory Controller Errors
Category Error Descriptions Action Detect Register
Notification Single-bit ECC The number of ECC errors has reached the The error is The error control
threshold threshold specified in the ERR_SBE. reported via regular register only logs
or critical interrupt if read versus write,
enabled. not full type
Access Error Multi-bit ECC A multi-bit ECC error is detected during a read, The error is
error or read-modify-write memory operation. reported via
machine check or
Memory select Read, or write, address does not fall within the
critical interrupt if
error address range of any of the memory banks.
enabled.
This table illustrates the differences in certain fields for DDR4 memory types. Note: This
table does not list all fields that must be programmed.
Table 18-22. Programming Summary, DDR4 memory types
Parameter Description Summary Section
APn _EN Chip Select nAuto Can be used to place chip select nin auto precharge mode Chip select a
Precharge Enable configuration
(CS0_CONFIG
- CS3_CONF
IG)
ODT_RD_CFG Chip Select ODT Read Can be enabled to assert ODT if desired. This could be set Chip select a
Configuration differently depending on system topology. However, configuration
systems with only 1 chip select will typically not use ODT (CS0_CONFIG
when issuing reads to the memory. - CS3_CONF
IG)
ODT_WR_CFG Chip Select ODT Write Can be enabled to assert ODT if desired. This could be set Chip select a
Configuration differently depending on system topology. However, ODT configuration
will typically be set to assert for the chip select that is (CS0_CONFIG
getting written to (value would be set to 001). - CS3_CONF
IG)
PRETOACT Precharge to Activate Should be set according to the specifications for the DDR SDRAM
Timing memory used (tRP) timing
configuration 1
(TIMING_C
FG_1)
ACTTOPRE Activate to Precharge Should be set, along with the Extended Activate to DDR SDRAM
Timing Precharge Timing, according to the specifications for the timing
memory used (tRAS) configuration 1
(TIMING_C
FG_1)
ACTTORW Activate to Read/Write Should be set according to the specifications for the DDR SDRAM
Timing memory used (tRCD) timing
configuration 1
(TIMING_C
FG_1)
The remainder of this chapter refers to a single DMAMUX module. Notes are included to
indicate variations for multiple instantiations.
Ch0
Ch1
Ch2 16
DMAMUX1
Ch63
DMA
Ch0
Ch1
Ch2
DMAMUX2
16
Ch63
The table below provides the source mapping for DMAMUX1 and DMAMUX2:
Table 19-5. DMA-Channel-MUX peripheral mapping
DMA- DMA-CH-MUX1 DMA-CH-MUX2
Channel-
MUX
peripheral
no.
1 Reserved Reserved
2 Reserved Reserved
3 FlexTimer6[0] Reserved
4 FlexTimer6[1] Reserved
5 FlexTimer6[2] Reserved
6 FlexTimer6[3] Reserved
7 FlexTimer6[4] Reserved
8 FlexTimer6[5] Reserved
9 FlexTimer6[6] Reserved
10 FlexTimer6[7] Reserved
19.2 Introduction
19.2.1 Overview
The Direct Memory Access Multiplexer (DMAMUX) routes DMA sources, called slots,
to any of the 16 DMA channels. This process is illustrated in the following figure.
DMA channel #0
Source #1 DMAMUX
DMA channel #1
Source #2
Source #3
Source #x
Always #1
Always #y
DMA channel #n
19.2.2 Features
The DMAMUX module provides these features:
• Up to 62 peripheral slots and up to one always-on slots can be routed to 16 channels.
• 16 independently selectable DMA channel routers.
• Each channel router can be assigned to one of the possible peripheral DMA slots or
to one of the always-on slots.
In this mode, the DMA channel is disabled. Because disabling and enabling of DMA
channels is done primarily via the DMA configuration registers, this mode is used
mainly as the reset state for a DMA channel in the DMA channel MUX. It may also
be used to temporarily suspend a DMA channel while reconfiguration of the system
takes place.
• Normal mode
In this mode, a DMA source is routed directly to the specified DMA channel. The
operation of the DMAMUX in this mode is completely transparent to the system.
0 DMA channel is disabled. This mode is primarily used during configuration of the DMAMux. The DMA
has separate channel enables/disables, which should be used to disable or reconfigure a DMA
channel.
1 DMA channel is enabled
1 This field is reserved.
Reserved This read/write field does not affect the functionality of the device and should not be used.
2–7 DMA Channel Source (Slot)
SOURCE
Specifies which DMA source, if any, is routed to a particular DMA channel. See the chip-specific
DMAMUX information for details about the peripherals and their slot numbers.
In cases where software should initiate the start of a DMA transfer, an always-enabled
DMA source can be used to provide maximum flexibility. When activating a DMA
channel via software, subsequent executions of the minor loop require that a new start
event be sent. This can either be a new software activation, or a transfer request from the
DMA channel MUX. The options for doing this are:
• Transfer all data in a single minor loop.
By configuring the DMA to transfer all of the data in a single minor loop (that is,
major loop counter = 1), no reactivation of the channel is necessary. The
disadvantage to this option is the reduced granularity in determining the load that the
DMA transfer will impose on the system. For this option, the DMA channel must be
disabled in the DMA channel MUX.
• Use explicit software reactivation.
In this option, the DMA is configured to transfer the data using both minor and major
loops, but the processor is required to reactivate the channel by writing to the DMA
registers after every minor loop. For this option, the DMA channel must be disabled
in the DMA channel MUX.
• Use an always-enabled DMA source.
In this option, the DMA is configured to transfer the data using both minor and major
loops, and the DMA channel MUX does the channel reactivation. For this option, the
DMA channel should be enabled and pointing to an "always enabled" source.
19.6.1 Reset
The reset state of each individual bit is shown in Memory map/register definition. In
summary, after reset, all channels are disabled and must be explicitly enabled before use.
In File main.c:
#include "registers.h"
:
:
*CHCFG1 = 0x00;
*CHCFG1 = 0x85;
To disable a source:
A particular DMA source may be disabled by not writing the corresponding source value
into any of the CHCFG registers. Additionally, some module-specific configuration may
be necessary. See the appropriate section for more details.
To switch the source of a DMA channel:
1. Disable the DMA channel in the DMA and reconfigure the channel for the new
source.
2. Clear the CHCFG[ENBL] bit of the DMA channel.
3. Select the source to be routed to the DMA channel. Write to the corresponding
CHCFG register, ensuring that the CHCFG[ENBL] field is set.
To switch DMA channel 8 from source #5 transmit to source #7 transmit:
1. In the DMA configuration registers, disable DMA channel 8 and reconfigure it to
handle the transfers to peripheral slot 7. This example assumes channel 8 doesn't
have triggering capability.
2. Write 0x00 to CHCFG8.
3. Write 0x87 to CHCFG8.
The following code example illustrates steps 2 and 3 above:
In File registers.h:
#define DMAMUX_BASE_ADDR 0x40021000/* Example only ! */
/* Following example assumes char is 8-bits */
volatile unsigned char *CHCFG0 = (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x0000);
volatile unsigned char *CHCFG1 = (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x0001);
volatile unsigned char *CHCFG2 = (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x0002);
volatile unsigned char *CHCFG3 = (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x0003);
volatile unsigned char *CHCFG4 = (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x0004);
volatile unsigned char *CHCFG5 = (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x0005);
volatile unsigned char *CHCFG6 = (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x0006);
volatile unsigned char *CHCFG7 = (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x0007);
volatile unsigned char *CHCFG8 = (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x0008);
volatile unsigned char *CHCFG9 = (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x0009);
volatile unsigned char *CHCFG10= (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x000A);
volatile unsigned char *CHCFG11= (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x000B);
volatile unsigned char *CHCFG12= (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x000C);
volatile unsigned char *CHCFG13= (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x000D);
volatile unsigned char *CHCFG14= (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x000E);
volatile unsigned char *CHCFG15= (volatile unsigned char *) (DMAMUX_BASE_ADDR+0x000F);
In File main.c:
#include "registers.h"
:
:
*CHCFG8 = 0x00;
*CHCFG8 = 0x87;
20.2 Overview
This chapter describes the dual universal asynchronous receiver/transmitters (DUART). It
describes the functional operation, the initialization sequence, and the programming
details for the dual UART registers and features.
The dual UART consists of two universal asynchronous receiver/transmitters
(UARTs).The UARTs act independently; all references to UART refer to one of these
receiver/transmitters. Each UART is clocked by the platform clock. The dual UART
programming model is compatible with the PC16552D.
The UART interface is point to point, meaning that only two UART devices are attached
to the connecting signals. As shown in the figure below, each UART module consists of
the following:
• Receive and transmit buffers
• Clear to send (CTS_B) input port and request to send (RTS_B) output port for data
flow control
Data
SIN
Receive Buffer
Address Bus
CTS_B
int
int Interrupt Input Port
Control
RTS_B
Output Port
HRESET_B
20.2.1 Features
The DUART includes these distinctive features:
• Full-duplex operation
• Programming model compatible with original PC16450 UART and PC16550D
(improved version of PC16450 that also operates in FIFO mode)
• PC16450 register reset values
• Configurable FIFO mode for both transmitter and receiver, providing 64-byte FIFOs
• Serial data encapsulation and decapsulation with standard asynchronous
communication bits (START, STOP, and parity)
• Maskable transmit, receive, line status, and modem status interrupts
• Software-programmable baud generators that divide the platform clock by 1 to (216 -
1) and generate a 16x clock for the transmitter and receiver engines
• Clear to send (CTS_B and ready to send (RTS_B) modem control functions
• Auto flow for clear to send (CTS_B) and ready to send (RTS_B) modem control
functions
• Software-selectable serial interface data format (data length, parity, 1/1.5/2 STOP bit,
baud rate)
• Line and modem status registers
• Line-break detection and generation
• Internal diagnostic support, local loopback, and break functions
• Prioritized interrupt reporting
• Overrun, parity, and framing error detection
The table below lists the DUART registers and their offsets. It lists the address, name,
and a cross-reference to the complete description of each register.
The UARTs on the device are identical, except that the registers for each UART are
located at different offsets. Throughout this chapter, the registers are described by a
singular acronym: for example, LCR represents the line control register for each UART
(see "The DUART module as implemented on the chip" section for the number of
UARTs supported on chip).
The registers in each UART interface are used for configuration, control, and status. The
divisor latch access bit, ULCR[DLAB], is used to access the divisor latch least- and
most-significant bit registers and the alternate function register. Refer to UART line
control register (ULCR1 - ULCR2) , for more information on ULCR[DLAB].
All the DUART registers are one-byte wide. Reads and writes to these registers must be
byte-wide operations. The table below provides a register summary with references to the
section and page that contains detailed information about each register. Undefined byte
address spaces within offset 0x000-0xFFF are reserved.
20.4.2.1 Offset
For a = 1 to 2:
Register Offset
UDLBa 400h + (a × 100h)
20.4.2.2 Function
This register is accessible when ULCR[DLAB] = 1.
The divisor least significant byte register (UDLB) is concatenated with the divisor most
significant byte register (UDMB) to create the divisor used to divide the input clock into
the DUART. The output frequency of the baud generator is 16 times the baud rate;
therefore the desired baud rate = platform clock frequency ÷ (16 x [UDMB||UDLB]).
Equivalently, [UDMB||UDLB:0b0000] = platform clock frequency ÷ desired baud rate.
Baud rates that can be generated by specific input clock frequencies are shown in the
table below.
The following table shows examples of baud rate generation based on common input
clock frequencies. Many other target baud rates are also possible.
NOTE
Because only integer values can be used as divisors, the actual
baud rate differs slightly from the desired (target) baud rate; for
this reason, both target and actual baud rates are given, along
with the percentage of error.
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
886 NXP Semiconductors
Chapter 20 DUART
20.4.2.3 Diagram
Bits 0 1 2 3 4 5 6 7
R
UDLB
W
Reset 0 0 0 0 0 0 0 0
20.4.2.4 Fields
Field Function
0-7 Divisor least significant byte. This is concatenated with UDMB.
UDLB
20.4.3.1 Offset
For a = 1 to 2:
Register Offset
URBRa 400h + (a × 100h)
20.4.3.2 Function
This register is accessible when ULCR[DLAB] = 0.
These registers contain the data received from the transmitter on the UART buses. In
FIFO mode, when read, they return the first byte received. For FIFO status information,
refer to the UDSR[RXRDY] description.
Except for the case when there is an overrun, URBR returns the data in the order it was
received from the transmitter. Refer to the ULSR[OE] description, UART line status
register (ULSR1 - ULSR2) . Note that these registers have same offset as the UTHRs.
20.4.3.3 Diagram
Bits 0 1 2 3 4 5 6 7
R DATA
W
Reset 0 0 0 0 0 0 0 0
20.4.3.4 Fields
Field Function
0-7 Data received from the transmitter on the UART bus (read only)
DATA
20.4.4.1 Offset
For a = 1 to 2:
Register Offset
UTHRa 400h + (a × 100h)
20.4.4.2 Function
This register is accessible when ULCR[DLAB] = 0.
A write to these 8-bit registers causes the UART devices to transfer 5-8 data bits on the
UART bus in the format set up in the ULCR (line control register). In FIFO mode, data
written to UTHR is placed into the FIFO. The data written to UTHR is the data sent onto
the UART bus, and the first byte written to UTHR is the first byte onto the bus.
UDSR[TXRDY_B] indicates when the FIFO is full. See UART DMA status register
(UDSR1 - UDSR2) for more details.
20.4.4.3 Diagram
Bits 0 1 2 3 4 5 6 7
R
W DATA
Reset 0 0 0 0 0 0 0 0
20.4.4.4 Fields
Field Function
0-7 Data that is written to UTHR (write only)
DATA
20.4.5.1 Offset
For a = 1 to 2:
Register Offset
UDMBa 401h + (a × 100h)
20.4.5.2 Function
This register is accessible when ULCR[DLAB] = 1.
The divisor least significant byte register (UDLB) is concatenated with the divisor most
significant byte register (UDMB) to create the divisor used to divide the input clock into
the DUART. The output frequency of the baud generator is 16 times the baud rate;
therefore the desired baud rate = platform clock frequency ÷ (16 x [UDMB||UDLB]).
Equivalently, [UDMB||UDLB:0b0000] = platform clock frequency ÷ desired baud rate.
Baud rates that can be generated by specific input clock frequencies are shown in UART
divisor least significant byte register (UDLB1 - UDLB2).
20.4.5.3 Diagram
Bits 0 1 2 3 4 5 6 7
R
UDMB
W
Reset 0 0 0 0 0 0 0 0
20.4.5.4 Fields
Field Function
0-7 Divisor most significant byte
UDMB
20.4.6.1 Offset
For a = 1 to 2:
Register Offset
UIERa 401h + (a × 100h)
20.4.6.2 Function
This register is accessible when ULCR[DLAB] = 0.
The UIER gives the user the ability to mask specific UART interrupts to the
programmable interrupt controller (PIC).
20.4.6.3 Diagram
Bits 0 1 2 3 4 5 6 7
R
Reserved
ETHRE
ERDAI
ERLS
EMS
W
I
Reset 0 0 0 0 0 0 0 0
20.4.6.4 Fields
Field Function
0-3 Reserved.
—
4 Enable modem status interrupt.
EMSI 0b - Mask interrupts caused by UMSR[DCTS] being set
1b - Enable and assert interrupts when the clear-to-send bit in the UART modem status register
(UMSR) changes state
5 Enable receiver line status interrupt.
Table continues on the next page...
Field Function
ERLSI 0b - Mask interrupts when ULSR's overrun, parity error, framing error or break interrupt bits are set
1b - Enable and assert interrupts when ULSR's overrun, parity error, framing error or break
interrupt bits are set
6 Enable transmitter holding register empty interrupt.
ETHREI 0b - Mask interrupt when ULSR[THRE] is set
1b - Enable and assert interrupts when ULSR[THRE] is set
7 Enable received data available interrupt.
ERDAI 0b - Mask interrupt when new receive data is available or receive data time out has occurred
1b - Enable and assert interrupts when a new data character is received from the external device
and/or a time-out interrupt occurs in the FIFO mode
20.4.7.1 Offset
For a = 1 to 2:
Register Offset
UAFRa 402h + (a × 100h)
20.4.7.2 Function
This register is accessible when ULCR[DLAB] = 1.
The UAFRs give software the ability to gate off the baud clock and write to each UARTn
registers simultaneously with the same write operation.
20.4.7.3 Diagram
Bits 0 1 2 3 4 5 6 7
R
Reserved BO CW
W
Reset 0 0 0 0 0 0 0 0
20.4.7.4 Fields
Field Function
0-5 Reserved.
—
6 Baud clock select.
BO 0b - The baud clock is not gated off.
1b - The baud clock is gated off.
7 Concurrent write enable.
CW 0b - Disables writing to each UARTn
1b - Enables concurrent writes to corresponding UART registers. A write to a register in UARTn is
also a write to the corresponding register in UARTn+1 and vice versa for each DUART where n
refers to the number of UART controller. The user needs to ensure that the ULCR[DLAB] of each
UART is in the same state before executing a concurrent write to register addresses 0xm00, 0xm01
and 0xm02, where m is the base address of the corresponding UART.
20.4.8.1 Offset
For a = 1 to 2:
Register Offset
UFCRa 402h + (a × 100h)
20.4.8.2 Function
This register is accessible when ULCR[DLAB] = 0.
The UFCR, a write-only register, is used to enable and clear the receiver and transmitter
FIFOs, set a receiver FIFO trigger level to control the received data available interrupt,
and select the type of DMA signaling.
When the UFCR bits are written, the FIFO enable bit must also be set or else the UFCR
bits are not programmed. When changing from FIFO mode to 16450 mode (non-FIFO
mode) and vice versa, data is automatically cleared from the FIFOs.
After all the bytes in the receiver FIFO are cleared, the receiver internal shift register is
not cleared. Similarly, the bytes are cleared in the transmitter FIFO, but the transmitter
internal shift register is not cleared. Both TFR and RFR are self-clearing bits.
20.4.8.3 Diagram
Bits 0 1 2 3 4 5 6 7
Reserved
EN64
DMS
RTL
RF
FE
TF
R
N
Reset 0 0 0 0 0 0 0 0
20.4.8.4 Fields
Field Function
0-1 Receiver trigger level. A received data available interrupt occurs when UIER[ERDAI] is set and the
number of bytes in the receiver FIFO equals the designated interrupt trigger level as follows:
RTL
00b - 1 byte, if EN64 1 byte
01b - 4 bytes, if EN64 16 bytes
10b - 8 bytes, if EN64 32 bytes
11b - 14 bytes, if EN64 56 bytes
2 Enable 64-byte FIFO
EN64 0b - Disables the 64-byte FIFOs
1b - Enables the 64-byte FIFOs
3 Reserved
—
4 DMA mode select. See DMA mode select for more information.
DMS 0b - UDSR[RXRDY] and UDSR[TXRDY] bits are in mode 0.
1b - UDSR[RXRDY] and UDSR[TXRDY] bits are in mode 1 if UFCR[FEN] = 1.
5 Transmitter FIFO reset
TFR 0b - No action
1b - Clears all bytes in the transmitter FIFO and resets the FIFO counter/pointer to 0
6 Receiver FIFO reset
RFR 0b - No action
1b - Clears all bytes in the receiver FIFO and resets the FIFO counter/pointer to 0
7 FIFO enable
FEN 0b - FIFOs are disabled and cleared
1b - Enables the transmitter and receiver FIFOs
20.4.9.1 Offset
For a = 1 to 2:
Register Offset
UIIRa 402h + (a × 100h)
20.4.9.2 Function
This register is accessible when ULCR[DLAB] = 0.
The UIIRs indicate when an interrupt is pending from the corresponding UART and what
type of interrupt is active. They also indicate if the FIFOs are enabled.
The DUART prioritizes interrupts into four levels and records these in the corresponding
UIIR. The four levels of interrupt conditions in order of priority are:
1. Receiver line status
2. Received data ready/character time-out
3. Transmitter holding register empty
4. Modem status
When the UIIR is read, the associated DUART serial channel freezes all interrupts and
indicates the highest priority pending interrupt. While this read transaction is occurring,
the associated DUART serial channel records new interrupts, but does not change the
contents of UIIR until the read access is complete.
Table 20-4. UIIR IID Bits Summary
IID Bits IID[3-0] Priority Interrupt Type Interrupt Description How To Reset
Interrupt
Level
0b0001 - - - -
0b0110 Highest Receiver line status Overrun error, parity Read the line status
error, framing error, or register.
break interrupt
0b0100 Second Received data available Receiver data available Read the receiver
or trigger level reached buffer register or
in FIFO mode interrupt is
automatically reset if
Table continues on the next page...
20.4.9.3 Diagram
Bits 0 1 2 3 4 5 6 7
FE64
IID3
IID2
IID1
IID0
R
Reserved
E
F
Reset 0 0 0 0 0 0 0 1
20.4.9.4 Fields
Field Function
0-1 FIFOs enabled. Reflects the setting of UFCR[FEN]
FE
2 64-byte FIFOs enabled. Reflects the setting of UFCR[EN64].
FE64 0b - 64-byte FIFOs disabled
1b - 64-byte FIFOs enabled
3 Reserved
—
4 Interrupt ID bits identify the highest priority interrupt that is pending as indicated in the table above. IID3 is
set along with IID2 only when a timeout interrupt is pending for FIFO mode.
IID3
Field Function
5 Interrupt ID bits identify the highest priority interrupt that is pending as indicated in the table above.
IID2
6 Interrupt ID bits identify the highest priority interrupt that is pending as indicated in the table above.
IID1
7 IID0 indicates when an interrupt is pending.
IID0 0b - The UART has an active interrupt ready to be serviced.
1b - No interrupt is pending.
20.4.10.1 Offset
For a = 1 to 2:
Register Offset
ULCRa 403h + (a × 100h)
20.4.10.2 Function
This register is accessible when ULCR[DLAB] = x.
The ULCRs specify the data format for the UART bus and set the divisor latch access bit
ULCR[DLAB], which controls the ability to access the divisor latch least and most
significant bit registers and the alternate function register.
After initializing the ULCR, the software should not re-write the ULCR when valid
transfers on the UART bus are active. The software should not re-write the ULCR until
the last STOP bit has been received and there are no new characters being transferred on
the bus.
The stick parity bit, ULCR[SP], assigns a set parity value for the parity bit time slot sent
on the UART bus. The set value is defined as mark parity (logic 1) or space parity (logic
0). ULCR[PEN] and ULCR[EPS] help determine the set parity value. See the table below
for more information. ULCR[NSTB], defines the number of STOP bits to be sent at the
end of the data transfer. The receiver only checks the first STOP bit, regardless of the
number of STOP bits selected. The word length select bits (1 and 0) define the number of
data bits that are transmitted or received as a serial character. The word length does not
include START, parity, and STOP bits.
Table 20-5. Parity Selection Using ULCR[PEN], ULCR[SP], and
ULCR[EPS]
PEN SP EPS Parity Selected
0 0 0 No parity
0 0 1 No parity
0 1 0 No parity
0 1 1 No parity
1 0 0 Odd parity
1 0 1 Even parity
1 1 0 Mark parity
1 1 1 Space parity
20.4.10.3 Diagram
Bits 0 1 2 3 4 5 6 7
R
DLAB
NST
EP
WL
PE
S
B
S
P
W
S
S
B
Reset 0 0 0 0 0 0 0 0
20.4.10.4 Fields
Field Function
0 Divisor latch access bit.
DLAB 0b - Access to all registers except UDLB, UAFR, and UDMB
1b - Ability to access divisor latch least and most significant byte registers and alternate function
register (UAFR)
1 Set break.
SB 0b - Send normal UTHR data onto the serial output (SOUT) signal
1b - Force logic 0 to be on the SOUT signal. Data in the UTHR is not affected
2 Stick parity.
SP 0b - Stick parity is disabled.
1b - If PEN = 1 and EPS = 1, space parity is selected. And if PEN = 1 and EPS = 0, mark parity is
selected.
3 Even parity select. See the table above for more information.
EPS 0b - If PEN = 1 and SP = 0, odd parity is selected.
Table continues on the next page...
Field Function
1b - If PEN = 1 and SP = 0, even parity is selected.
4 Parity enable.
PEN 0b - No parity generation and checking
1b - Generate parity bit as a transmitter, and check parity as a receiver
5 Number of STOP bits.
NSTB 0b - One STOP bit is generated in the transmitted data.
1b - When a 5-bit data length is selected, 1½ STOP bits are generated. When either a 6-, 7-, or 8-
bit word length is selected, two STOP bits are generated.
6-7 Word length select. Number of bits that comprise the character length. The word length select values are
as follows:
WLS
00b - 5 bits
01b - 6 bits
10b - 7 bits
11b - 8 bits
20.4.11.1 Offset
For a = 1 to 2:
Register Offset
UMCRa 404h + (a × 100h)
20.4.11.2 Function
This register is accessible when ULCR[DLAB] = x.
The UMCRs control the interface with the external peripheral device on the UART bus.
20.4.11.3 Diagram
Bits 0 1 2 3 4 5 6 7
R
Reserved
Reserved
Reserved
LOOP
RT
AF
W
E
Reset 0 0 0 0 0 0 0 0
20.4.11.4 Fields
Field Function
0-1 Reserved.
—
2 Auto Flow Control Enable
AFE Setting this bit to 1 enables the UART's autflow.
RTS AFE Auto-flow configuration:
0b - When RTS is either 0 or 1, both Auto-RTS and Auto-CTS are disabled.
1b - When RTS is 0, only Auto-CTS is enabled. When RTS is 1, both Auto-CTS and Auto-RTS are
enabled.
3 Local loopback mode.
LOOP 0b - Normal operation
1b - Functionally, the data written to UTHR can be read from URBR of the same UART , and
UMCR[RTS] is tied to UMSR[CTS] .
4-5 Reserved.
—
6 Ready to send.
RTS 0b - Negates corresponding RTS_B output
1b - Assert corresponding RTS_B output. Informs external modem or peripheral that the UART is
ready for sending/receiving data
7 Reserved.
—
20.4.12.1 Offset
For a = 1 to 2:
Register Offset
ULSRa 405h + (a × 100h)
20.4.12.2 Function
This register is accessible when ULCR[DLAB] = x.
The ULSRs are read-only registers that monitor the status of the data transfer on the
UART buses. To isolate the status bits from the proper character received through the
UART bus, software should read the ULSR and then the URBR.
20.4.12.3 Diagram
Bits 0 TEMT 1 2 3 4 5 6 7
THR
DR
R
RF
BI
E
F
P
E
O
E
E
E
W
Reset 0 1 1 0 0 0 0 0
20.4.12.4 Fields
Field Function
0 Receiver FIFO error.
RFE 0b - This bit is cleared when there are no errors in the receiver FIFO or on a read of the ULSR with
no remaining receiver FIFO errors.
1b - Set to one when one of the characters in the receiver FIFO encounters an error (framing,
parity, or break interrupt)
1 Transmitter empty.
TEMT 0b - Either or both the UTHR or the internal transmitter shift register has a data character. In FIFO
mode, a data character is in the transmitter FIFO or the internal transmitter shift register.
1b - Both the UTHR and the internal transmitter shift register are empty. In FIFO mode, both the
transmitter FIFO and the internal transmitter shift register are empty.
2 Transmitter holding register empty.
THRE 0b - The UTHR is not empty.
1b - A data character has transferred from the UTHR into the internal transmitter shift register. In
FIFO mode, the transmitter FIFO contains no data character.
3 Break interrupt.
BI NOTE: For a single break signal, BI and DR are set multiple times, approximately once every character
period. The BI and DR bits continue to be set each character period after they are cleared. This
continues for the entire duration of the break signal. To accommodate this behavior, read URBR,
which returns zeros and clears DR. Then delay one character period and read URBR again.
Note that at the end of the break signal, a random character may be falsely detected and
received in the URBR, with ULSR[DR] being set.
0b - This bit is cleared when the ULSR is read or when a valid data transfer is detected (that is,
STOP bit is received).
1b - Received data of logic 0 for more than START bit + Data bits + Parity bit + one STOP bits
length of time. A new character is not loaded until SIN returns to the mark state (logic 1) and a valid
START is detected. In FIFO mode, a zero character is encountered in the FIFO (the zero character
is at the top of the FIFO). In FIFO mode, only one zero character is stored.
4 Framing error.
FE
Table continues on the next page...
Field Function
0b - This bit is cleared when ULSR is read or when a new character is loaded into the URBR from
the receiver shift register.
1b - Invalid STOP bit for receive data (only the first STOP bit is checked). In FIFO mode, this bit is
set when the character that detected a framing error is encountered in the FIFO (that is the
character at the top of the FIFO). An attempt to resynchronize occurs after a framing error. The
UART assumes that the framing error (due to a logic 0 being read when a logic 1 (STOP) was
expected) was due to a STOP bit overlapping with the next START bit, so it assumes this logic 0
sample is a true START bit and then receives the following new data.
5 Parity error.
PE 0b - This bit is cleared when ULSR is read or when a new character is loaded into the URBR.
1b - Unexpected parity value encountered when receiving data. In FIFO mode, the character with
the error is at the top of the FIFO .
6 Overrun error.
OE 0b - This bit is cleared when ULSR is read.
1b - Before the URBR is read, the URBR was overwritten with a new character. The old character
is loss. In FIFO mode, the receiver FIFO is full (regardless of the receiver FIFO trigger level setting)
and a new character has been received into the internal receiver shift register. The old character
was overwritten by the new character. Data in the receiver FIFO was not overwritten.
7 Data ready.
DR 0b - This bit is cleared when URBR is read or when all of the data in the receiver FIFO is read.
1b - A character has been received in the URBR or the receiver FIFO.
20.4.13.1 Offset
For a = 1 to 2:
Register Offset
UMSRa 406h + (a × 100h)
20.4.13.2 Function
This register is accessible when ULCR[DLAB] = x.
The UMSRs track the status of the modem (or external peripheral device) clear to send
( CTS_B ) signal for the corresponding UART .
20.4.13.3 Diagram
Bits 0 1 2 3 4 5 6 7
DCTS
CTS
Reserved
Reserved
R
W
Reset 0 0 0 0 0 0 0 0
20.4.13.4 Fields
Field Function
0-2 Reserved.
—
3 Clear to send. Represents the inverted value of the CTS_B input pin from the external peripheral device
CTS 0b - Corresponding UARTn_CTS_B is negated
1b - Corresponding UARTn_CTS_B is asserted. The modem or peripheral device is ready for data
transfers.
4-6 Reserved.
—
7 Clear to send.
DCTS 0b - No change on the corresponding UARTn_CTS_B signal since the last read of UMSR[CTS]
1b - The UARTn_CTS_B value has changed, since the last read of UMSR[CTS]. Causes an
interrupt if UIER[EMSI] is set to detect this condition
20.4.14.1 Offset
For a = 1 to 2:
Register Offset
USCRa 407h + (a × 100h)
20.4.14.2 Function
This register is accessible when ULCR[DLAB] = x.
The USCR registers are for debugging software or the DUART hardware. The USCRs do
not affect the operation of the DUART.
20.4.14.3 Diagram
Bits 0 1 2 3 4 5 6 7
R
DATA
W
Reset 0 0 0 0 0 0 0 0
20.4.14.4 Fields
Field Function
0-7 Data
DATA
20.4.15.1 Offset
For a = 1 to 2:
Register Offset
UDSRa 410h + (a × 100h)
20.4.15.2 Function
This register is accessible when ULCR[DLAB] = x.
The DMA status registers (UDSRs) are read-only registers that return transmitter and
receiver FIFO status. UDSRs also provide the ability to assist DMA data operations to
and from the FIFOs.
Table 20-6. UDSR[TXRDY] Set Conditions
DMS FEN DMA Mode Meaning
0 0 0 TXRDY is set after the first
character is loaded into the
0 1 0
transmitter FIFO or UTHR.
1 0 0
1 1 1 TXRDY is set when the
transmitter FIFO is full.
20.4.15.3 Diagram
Bits 0 1 2 3 4 5 6 7
TXRDY
RXRD
Reserved
Y
W
Reset 0 0 0 0 0 0 0 1
20.4.15.4 Fields
Field Function
0-5 Reserved
—
6 Transmitter ready. This read-only bit reflects the status of the transmitter FIFO or the UTHR. The status
depends on the DMA mode selected, which is determined by the DMS and FEN bits in the UFCR.
TXRDY
0b - This bit is cleared, as shown in Table 20-7 .
1b - This bit is set, as shown in Table 20-6 .
7 Receiver ready. This read-only bit reflects the status of the receiver FIFO or URBR. The status depends
on the DMA mode selected, which is determined by the DMS and FEN bits in the UFCR.
RXRDY
0b - This bit is cleared, as shown in Table 20-9 .
1b - This bit is set, as shown in Table 20-8 .
rxcnt 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Optional Optional
Even/odd parity even/odd parity
Two 7-bit data transmissions with parity and 2-bit STOP transactions
The ULCR data bit length for the transmitter and receiver UART devices must agree
before a transfer begins; otherwise, a parity or framing error may occur. A transfer begins
when UTHR is written. At that time a START bit is generated followed by 5-8 of the data
bits previously written to the UTHR. The data bits are driven from the least significant to
the most significant bits. After the parity and STOP bits, a new data transfer can begin if
new data is written to the UTHR.
Upon loading either of the divisor latches, a 16-bit baud-rate counter is loaded.
The divisor latches must be loaded during initialization to ensure proper operation of the
baud-rate generator. Both UART devices on the same bus must be programmed for the
same baud-rate before starting a transfer.
The baud clock can be passed to the performance monitor by enabling the UAFR[BO]
bit. This can be used to determine baud rate errors.
20.5.4 Errors
The following sections describe framing, parity, and overrun errors which may occur
while data is transferred on the UART bus.
Each of the error bits are usually cleared, as described below, when the line status register
(ULSR) is read.
being read when a logic 1 (STOP) was expected) was due to a STOP bit overlapping with
the next START bit. ULSR[FE] is cleared when ULSR is read or when a new character is
loaded into the URBR from the receiver shift register.
2. Set data attributes and control bits in the ULCR, UFCR, UAFR, UMCR, UDLB, and
UDMB.
3. Set the data attributes and control bits of the external modem or peripheral device.
4. Set the interrupt enable register (UIER).
5. To start a write transfer, write to the UTHR.
6. Poll UIIR, if the interrupts generated by the DUART are masked.
21.1 Overview
The Enhanced direct memory access (eDMA) is a general purpose DMA which can be
used for data transfer between slow peripherals (SPI, I2C, QSPI, FlexTimer, LPUART)
and DDR memory.
21.2 Introduction
The enhanced direct memory access (eDMA) controller is a second-generation module
capable of performing complex data transfers with minimal intervention from a host
processor. The hardware microarchitecture includes:
• A DMA engine that performs:
• Source address and destination address calculations
• Data-movement operations
• Local memory containing transfer control descriptors for each of the 32 channels
Write Data
0
1
2
Transfer Control
Descriptor (TCD) n-1
64
eDMA e ngine
Program Model/
Read Data
Channel Arbitration
Read Data
Address Path
Control
Data Path
Write Data
Address
eDMA Peripheral
eDMA Done
Request
21.2.3 Features
The eDMA is a highly programmable data-transfer engine optimized to minimize any
required intervention from the host processor. It is intended for use in applications where
the data size to be transferred is statically known and not defined within the transferred
data itself. The eDMA module features:
• All data movement via dual-address transfers: read from source, write to destination
• Programmable source and destination addresses and transfer size
• Support for enhanced addressing modes
Word
Offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0x1000 SADDR
0x1004 SMOD SSIZE DMOD DSIZE SOFF
0x1008 NBYTES1
DMLOE1
SMLOE1
0x100C SLAST
0x1010 DADDR
CITER.E_LINK
0x1018 DLAST_SGA
MAJOR.E_LINK
BITER.E_LINK
INT_HALF
INT_MAJ
ACTIVE
D_REQ
START
DONE
E_SG
BITER or
0x101C BITER.LINKCH BITER BWC MAJOR LINKCH
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
21.4.5 Endianness
This module's memory map uses big-endian ordering. This means:
• For 8-bit registers, the lower address byte is read as the most significant byte.
• For 16-bit registers, the lower address word is read as the most significant word.
The following figure provides examples of this.
For this structure, an 8-bit read of For this structure, a 16-bit read of
address 00h will yield DDh. address 00h will yield CCDDh.
or to both prior to the addresses being written back into the TCD. If the major loop is
complete, the minor loop offset is ignored and the major loop address offsets
(TCDn_SLAST and TCDn_DLAST_SGA) are used to compute the next TCDn_SADDR
and TCDn_DADDR values.
When minor loop mapping is enabled (EMLM is 1), TCDn word2 is redefined. A portion
of TCDn word2 is used to specify multiple fields: a source enable bit (SMLOE) to
specify the minor loop offset should be applied to the source address (TCDn_SADDR)
upon minor loop completion, a destination enable bit (DMLOE) to specify the minor loop
offset should be applied to the destination address (TCDn_DADDR) upon minor loop
completion, and the sign extended minor loop offset value (MLOFF). The same offset
value (MLOFF) is used for both source and destination minor loop offsets. When either
minor loop offset is enabled (SMLOE set or DMLOE set), the NBYTES field is reduced
to 10 bits. When both minor loop offsets are disabled (SMLOE cleared and DMLOE
cleared), the NBYTES field is a 30-bit vector.
When minor loop mapping is disabled (EMLM is 0), all 32 bits of TCDn word2 are
assigned to the NBYTES field.
Address: 2C0_0000h base + 0h offset = 2C0_0000h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R 0
CX ECX
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R 0 0
GRP1PRI
GRP0PRI
Reserved
EMLM
ERGA
EDBG
ERCA
HALT
CLM HOE
W
Reset 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
NOTE: Do not use continuous link mode with a channel linking to itself if there is only one minor loop
iteration per service request, e.g., if the channel’s NBYTES value is the same as either the source
or destination size. The same data transfer profile can be achieved by simply increasing the
NBYTES value, which provides more efficient, faster processing.
0 A minor loop channel link made to itself goes through channel arbitration before being activated again.
1 A minor loop channel link made to itself does not go through channel arbitration before being activated
again. Upon minor loop completion, the channel activates again if that channel has a minor loop
channel link enabled and the link channel is itself. This effectively applies the minor loop offsets and
restarts the next minor loop.
26 Halt DMA Operations
HALT
0 Normal operation
1 Stall the start of any new channels. Executing channels are allowed to complete. Channel execution
resumes when this bit is cleared.
27 Halt On Error
HOE
0 Normal operation
1 Any error causes the HALT bit to set. Subsequently, all service requests are ignored until the HALT bit
is cleared.
28 Enable Round Robin Group Arbitration
ERGA
0 Fixed priority arbitration is used for selection among the groups.
1 Round robin arbitration is used for selection among the groups.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R VLD 0 ECX
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R GPE CPE 0 ERRCHN SAE SOE DAE DOE NCE SGE SBE DBE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ERQ31
ERQ30
ERQ29
ERQ28
ERQ27
ERQ26
ERQ25
ERQ24
ERQ23
ERQ22
ERQ21
ERQ20
ERQ19
ERQ18
ERQ17
ERQ16
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ERQ15
ERQ14
ERQ13
ERQ12
ERQ11
ERQ10
ERQ9 ERQ8 ERQ7 ERQ6 ERQ5 ERQ4 ERQ3 ERQ2 ERQ1 ERQ0
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
EEI31
EEI30
EEI29
EEI28
EEI27
EEI26
EEI25
EEI24
EEI23
EEI22
EEI21
EEI20
EEI19
EEI18
EEI17
EEI16
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
EEI15
EEI14
EEI13
EEI12
EEI11
EEI10
EEI9 EEI8 EEI7 EEI6 EEI5 EEI4 EEI3 EEI2 EEI1 EEI0
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The CEEI provides a simple memory-mapped mechanism to clear a given bit in the EEI
to disable the error interrupt for a given channel. The data value on a register write causes
the corresponding bit in the EEI to be cleared. Setting the CAEE bit provides a global
clear function, forcing the EEI contents to be cleared, disabling all DMA request inputs.
If the NOP bit is set, the command is ignored. This allows you to write multiple-byte
registers as a 32-bit word. Reads of this register return all zeroes.
Address: 2C0_0000h base + 18h offset = 2C0_0018h
Bit 0 1 2 3 4 5 6 7
Read 0 0 0
The SEEI provides a simple memory-mapped mechanism to set a given bit in the EEI to
enable the error interrupt for a given channel. The data value on a register write causes
the corresponding bit in the EEI to be set. Setting the SAEE bit provides a global set
function, forcing the entire EEI contents to be set. If the NOP bit is set, the command is
ignored. This allows you to write multiple-byte registers as a 32-bit word. Reads of this
register return all zeroes.
Address: 2C0_0000h base + 19h offset = 2C0_0019h
Bit 0 1 2 3 4 5 6 7
Read 0 0 0
Bit 0 1 2 3 4 5 6 7
Read 0 0 0
The SERQ provides a simple memory-mapped mechanism to set a given bit in the ERQ
to enable the DMA request for a given channel. The data value on a register write causes
the corresponding bit in the ERQ to be set. Setting the SAER bit provides a global set
function, forcing the entire contents of ERQ to be set. If the NOP bit is set, the command
is ignored. This allows you to write multiple-byte registers as a 32-bit word. Reads of this
register return all zeroes.
Address: 2C0_0000h base + 1Bh offset = 2C0_001Bh
Bit 0 1 2 3 4 5 6 7
Read 0 0 0
The CDNE provides a simple memory-mapped mechanism to clear the DONE bit in the
TCD of the given channel. The data value on a register write causes the DONE bit in the
corresponding transfer control descriptor to be cleared. Setting the CADN bit provides a
global clear function, forcing all DONE bits to be cleared. If the NOP bit is set, the
command is ignored. This allows you to write multiple-byte registers as a 32-bit word.
Reads of this register return all zeroes.
Address: 2C0_0000h base + 1Ch offset = 2C0_001Ch
Bit 0 1 2 3 4 5 6 7
Read 0 0 0
The SSRT provides a simple memory-mapped mechanism to set the START bit in the
TCD of the given channel. The data value on a register write causes the START bit in the
corresponding transfer control descriptor to be set. Setting the SAST bit provides a global
set function, forcing all START bits to be set. If the NOP bit is set, the command is
ignored. This allows you to write multiple-byte registers as a 32-bit word. Reads of this
register return all zeroes.
Address: 2C0_0000h base + 1Dh offset = 2C0_001Dh
Bit 0 1 2 3 4 5 6 7
Read 0 0 0
The CERR provides a simple memory-mapped mechanism to clear a given bit in the ERR
to disable the error condition flag for a given channel. The given value on a register write
causes the corresponding bit in the ERR to be cleared. Setting the CAEI bit provides a
global clear function, forcing the ERR contents to be cleared, clearing all channel error
indicators. If the NOP bit is set, the command is ignored. This allows you to write
multiple-byte registers as a 32-bit word. Reads of this register return all zeroes.
Address: 2C0_0000h base + 1Eh offset = 2C0_001Eh
Bit 0 1 2 3 4 5 6 7
Read 0 0 0
The CINT provides a simple, memory-mapped mechanism to clear a given bit in the INT
to disable the interrupt request for a given channel. The given value on a register write
causes the corresponding bit in the INT to be cleared. Setting the CAIR bit provides a
global clear function, forcing the entire contents of the INT to be cleared, disabling all
DMA interrupt requests. If the NOP bit is set, the command is ignored. This allows you
to write multiple-byte registers as a 32-bit word. Reads of this register return all zeroes.
Address: 2C0_0000h base + 1Fh offset = 2C0_001Fh
Bit 0 1 2 3 4 5 6 7
Read 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
INT31
INT30
INT29
INT28
INT27
INT26
INT25
INT24
INT23
INT22
INT21
INT20
INT19
INT18
INT17
INT16
R
W w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
INT15
INT14
INT13
INT12
INT11
INT10
INT9
INT8
INT7
INT6
INT5
INT4
INT3
INT2
INT1
INT0
R
W w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The contents of this register can also be polled because a non-zero value indicates the
presence of a channel error regardless of the state of the EEI. The state of any given
channel’s error indicators is affected by writes to this register; it is also affected by writes
to the CERR. On writes to the ERR, a one in any bit position clears the corresponding
channel’s error status. A zero in any bit position has no affect on the corresponding
channel’s current error status. The CERR is provided so the error indicator for a single
channel can easily be cleared.
Address: 2C0_0000h base + 2Ch offset = 2C0_002Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
ERR31
ERR30
ERR29
ERR28
ERR27
ERR26
ERR25
ERR24
ERR23
ERR22
ERR21
ERR20
ERR19
ERR18
ERR17
ERR16
R
W w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
ERR15
ERR14
ERR13
ERR12
ERR11
ERR10
ERR9
ERR8
ERR7
ERR6
ERR5
ERR4
ERR3
ERR2
ERR1
ERR0
R
W w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c w1c
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
HRS31
HRS30
HRS29
HRS28
HRS27
HRS26
HRS25
HRS24
HRS23
HRS22
HRS21
HRS20
HRS19
HRS18
HRS17
HRS16
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
HRS15
HRS14
HRS13
HRS12
HRS11
HRS10
HRS9
HRS8
HRS7
HRS6
HRS5
HRS4
HRS3
HRS2
HRS1
HRS0
R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
When fixed-priority channel arbitration is enabled (CR[ERCA] = 0), the contents of these
registers define the unique priorities associated with each channel within a group. The
channel priorities are evaluated by numeric value; for example, 0 is the lowest priority, 1
is the next higher priority, then 2, 3, etc. Software must program the channel priorities
with unique values; otherwise, a configuration error is reported. The range of the priority
value is limited to the values of 0 through 15. When read, the GRPPRI bits of the
DCHPRIn register reflect the current priority level of the group of channels in which the
corresponding channel resides. GRPPRI bits are not affected by writes to the DCHPRIn
registers. The group priority is assigned in the DMA control register.
Address: 2C0_0000h base + 100h offset + (1d × i), where i=0d to 31d
Bit 0 1 2 3 4 5 6 7
Read GRPPRI
ECP DPA CHPRI
Write
Reset 0 0 * * * * * *
* Notes:
• CHPRI field: See bit field description.
• GRPPRI field: See bit field description.
NOTE: Reset value for the group and channel priority fields, GRPPRI and CHPRI, is equal to the
corresponding channel number for each priority register, that is, DCHPRI31[GRPPRI] = 0b01 and
DCHPRI31[CHPRI] equals 0b1111.
4–7 Channel n Arbitration Priority
CHPRI
Channel priority when fixed-priority arbitration is enabled
NOTE: Reset value for the group and channel priority fields, GRPPRI and CHPRI, is equal to the
corresponding channel number for each priority register, that is, DCHPRI31[GRPPRI] = 0b01 and
DCHPRI31[CHPRI] = 0b01111.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
SADDR
Reset x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Read SOFF
Write
Reset x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Read SMOD SSIZE DMOD DSIZE
Write
Reset x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
000 8-bit
001 16-bit
010 32-bit
011 64-bit
100 Reserved
101 32-byte burst (4 beats of 64 bits)
110 Reserved
111 Reserved
8–12 Destination Address Modulo
DMOD
See the SMOD definition
13–15 Destination data transfer size
DSIZE
See the SSIZE definition
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
NBYTES
Reset x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
21.4.26 TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled
and Offset Disabled) (DMA_TCDn_NBYTES_MLOFFNO)
One of three registers (this register, TCD_NBYTES_MLNO, or
TCD_NBYTES_MLOFFYES), defines the number of bytes to transfer per request.
Which register to use depends on whether minor loop mapping is disabled, enabled but
not used for this channel, or enabled and used.
TCD word 2 is defined as follows if:
• Minor loop mapping is enabled (CR[EMLM] = 1) and
• SMLOE = 0 and DMLOE = 0
If minor loop mapping is enabled and SMLOE or DMLOE is set, then refer to the
TCD_NBYTES_MLOFFYES register description. If minor loop mapping is disabled,
then refer to the TCD_NBYTES_MLNO register description.
Address: 2C0_0000h base + 1008h offset + (32d × i), where i=0d to 31d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
DMLOE
SMLOE
NBYTES
W
Reset x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x*
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
NBYTES
W
Reset x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
21.4.27 TCD Signed Minor Loop Offset (Minor Loop Mapping and
Offset Enabled) (DMA_TCDn_NBYTES_MLOFFYES)
One of three registers (this register, TCD_NBYTES_MLNO, or
TCD_NBYTES_MLOFFNO), defines the number of bytes to transfer per request. Which
register to use depends on whether minor loop mapping is disabled, enabled but not used
for this channel, or enabled and used.
TCD word 2 is defined as follows if:
• Minor loop mapping is enabled (CR[EMLM] = 1) and
• Minor loop offset is enabled (SMLOE or DMLOE = 1)
If minor loop mapping is enabled and SMLOE and DMLOE are cleared, then refer to the
TCD_NBYTES_MLOFFNO register description. If minor loop mapping is disabled, then
refer to the TCD_NBYTES_MLNO register description.
Address: 2C0_0000h base + 1008h offset + (32d × i), where i=0d to 31d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
DMLOE
SMLOE
MLOFF
W
Reset x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x*
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
MLOFF NBYTES
W
Reset x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
SLAST
Reset x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
DADDR
Reset x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Read DOFF
Write
Reset x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
21.4.31 TCD Current Minor Loop Link, Major Loop Count (Channel
Linking Enabled) (DMA_TCDn_CITER_ELINKYES)
Bit 0 1 2 3 4 5 6 7
Read
ELINK LINKCH CITER
Write 0
Reset x* x* x* x* x* x* x* x*
Bit 8 9 10 11 12 13 14 15
Read CITER
Write
Reset x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
NOTE: This bit must be equal to the BITER[ELINK] bit; otherwise, a configuration error is reported.
NOTE: When the CITER field is initially loaded by software, it must be set to the same value as that
contained in the BITER field.
NOTE: If the channel is configured to execute a single service request, the initial values of BITER and
CITER should be 0x0001.
21.4.32 TCD Current Minor Loop Link, Major Loop Count (Channel
Linking Disabled) (DMA_TCDn_CITER_ELINKNO)
Bit 0 1 2 3 4 5 6 7
Read ELINK CITER
Write
Reset x* x* x* x* x* x* x* x*
Bit 8 9 10 11 12 13 14 15
Read CITER
Write
Reset x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
NOTE: This bit must be equal to the BITER[ELINK] bit; otherwise, a configuration error is reported.
NOTE: When the CITER field is initially loaded by software, it must be set to the same value as that
contained in the BITER field.
NOTE: If the channel is configured to execute a single service request, the initial values of BITER and
CITER should be 0x0001.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
DLASTSGA
Reset x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
Bit 0 1 2 3 4 5 6 7
Read
BWC MAJORLINKCH
Write 0
Reset x* x* x* x* x* x* x* x*
Bit 8 9 10 11 12 13 14 15
Reset x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
NOTE: If the source and destination sizes are equal, this field is ignored between the first and second
transfers and after the last write of each minor loop. This behavior is a side effect of reducing
start-up latency.
NOTE: This bit must be cleared to write the MAJORELINK or ESG bits.
9 Channel Active
ACTIVE
This flag signals the channel is currently in execution. It is set when channel service begins, and is cleared
by the eDMA as the minor loop completes or when any error condition is detected.
10 Enable channel-to-channel linking on major loop complete
MAJORELINK
As the channel completes the major loop, this flag enables the linking to another channel, defined by
MAJORLINKCH. The link target channel initiates a channel service request via an internal mechanism that
sets the TCDn_CSR[START] bit of the specified channel.
NOTE: To support the dynamic linking coherency model, this field is forced to zero when written to while
the TCDn_CSR[DONE] bit is set.
NOTE: To support the dynamic scatter/gather coherency model, this field is forced to zero when written
to while the TCDn_CSR[DONE] bit is set.
21.4.35 TCD Beginning Minor Loop Link, Major Loop Count (Channel
Linking Enabled) (DMA_TCDn_BITER_ELINKYES)
If the TCDn_BITER[ELINK] bit is set, the TCDn_BITER register is defined as follows.
Address: 2C0_0000h base + 101Eh offset + (32d × i), where i=0d to 31d
Bit 0 1 2 3 4 5 6 7
Read
ELINK LINKCH BITER
Write 0
Reset x* x* x* x* x* x* x* x*
Bit 8 9 10 11 12 13 14 15
Read BITER
Write
Reset x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
NOTE: When the software loads the TCD, this field must be set equal to the corresponding CITER field;
otherwise, a configuration error is reported. As the major iteration count is exhausted, the
contents of this field are reloaded into the CITER field.
7–15 Starting major iteration count
BITER
As the transfer control descriptor is first loaded by software, this 9-bit (ELINK = 1) or 15-bit (ELINK = 0)
field must be equal to the value in the CITER field. As the major iteration count is exhausted, the contents
of this field are reloaded into the CITER field.
NOTE: When the software loads the TCD, this field must be set equal to the corresponding CITER field;
otherwise, a configuration error is reported. As the major iteration count is exhausted, the
contents of this field are reloaded into the CITER field. If the channel is configured to execute a
single service request, the initial values of BITER and CITER should be 0x0001.
21.4.36 TCD Beginning Minor Loop Link, Major Loop Count (Channel
Linking Disabled) (DMA_TCDn_BITER_ELINKNO)
If the TCDn_BITER[ELINK] bit is cleared, the TCDn_BITER register is defined as
follows.
Address: 2C0_0000h base + 101Eh offset + (32d × i), where i=0d to 31d
Bit 0 1 2 3 4 5 6 7
Read ELINK BITER
Write
Reset x* x* x* x* x* x* x* x*
Bit 8 9 10 11 12 13 14 15
Read BITER
Write
Reset x* x* x* x* x* x* x* x*
* Notes:
• x = Undefined at reset.
NOTE: When the software loads the TCD, this field must be set equal to the corresponding CITER field;
otherwise, a configuration error is reported. As the major iteration count is exhausted, the
contents of this field are reloaded into the CITER field.
NOTE: When the software loads the TCD, this field must be set equal to the corresponding CITER field;
otherwise, a configuration error is reported. As the major iteration count is exhausted, the
contents of this field is reloaded into the CITER field. If the channel is configured to execute a
single service request, the initial values of BITER and CITER should be 0x0001.
eDMA
Write Address
Write Data
0
1
2
Control
Descriptor (TCD) n-1
64
eDMA Engine
Program Model/
Read Data
Channel Arbitration
Read Data
Address Path
Control
Data Path
Write Data
Address
eDMA Peripheral
eDMA Done
Request
This example uses the assertion of the eDMA peripheral request signal to request service
for channel n. Channel activation via software and the TCDn_CSR[START] bit follows
the same basic flow as peripheral requests. The eDMA request input signal is registered
internally and then routed through the eDMA engine: first through the control module,
then into the program model and channel arbitration. In the next cycle, the channel
arbitration performs, using the fixed-priority or round-robin algorithm. After arbitration is
complete, the activated channel number is sent through the address path and converted
into the required address to access the local memory for TCDn. Next, the TCD memory
is accessed and the required descriptor read from the local memory and loaded into the
eDMA engine address path channel x or y registers. The TCD memory is 64 bits wide to
minimize the time needed to fetch the activated channel descriptor and load it into the
address path channel x or y registers.
The following diagram illustrates the second part of the basic data flow:
eDMA
Write Address
Write Data
0
1
2
Control
Descriptor (TCD) n-1
64
eDMA Engine
Program Model/
Read Data
Channel Arbitration
Read Data
Address Path
Control
Data Path
Write Data
Address
eDMA Peripheral
eDMA Done
Request
The modules associated with the data transfer (address path, data path, and control)
sequence through the required source reads and destination writes to perform the actual
data movement. The source reads are initiated and the fetched data is temporarily stored
in the data path block until it is gated onto the internal bus during the destination write.
This source read/destination write processing continues until the minor byte count has
transferred.
After the minor byte count has moved, the final phase of the basic data flow is performed.
In this segment, the address path logic performs the required updates to certain fields in
the appropriate TCD, for example, SADDR, DADDR, CITER. If the major iteration
count is exhausted, additional operations are performed. These include the final address
adjustments and reloading of the BITER field into the CITER. Assertion of an optional
interrupt request also occurs at this time, as does a possible fetch of a new TCD from
memory using the scatter/gather address pointer included in the descriptor (if scatter/
gather is enabled). The updates to the TCD memory and the assertion of an interrupt
request are shown in the following diagram.
eDMA
Write Address
Write Data
0
1
2
Control
Descriptor (TCD) n-1
64
eDMA En g in e
Program Model/
Read Data
Channel Arbitration
Read Data
Address Path
Control
Data Path
Write Data
Address
eDMA Peripheral
eDMA Done
Request
• All source reads and destination writes must be configured to the natural boundary of
the programmed transfer size respectively.
• In fixed arbitration mode, a configuration error is caused by any two channel
priorities being equal. All channel priority levels must be unique when fixed
arbitration mode is enabled.
NOTE
When two channels have the same priority, a channel
priority error exists and will be reported in the Error Status
register. However, the channel number will not be reported
in the Error Status register. When all of the channel
priorities within a group are not unique, the channel
number selected by arbitration is undetermined.
To aid in Channel Priority Error (CPE) debug, set the Halt
On Error bit in the DMA’s Control Register. If all of the
channel priorities within a group are not unique, the DMA
will be halted after the CPE error is recorded. The DMA
will remain halted and will not process any channel service
requests. Once all of the channel priorities are set to unique
numbers, the DMA may be enabled again by clearing the
Halt bit.
occurs on the last read prior to beginning the write sequence, the write executes using the
data captured during the bus error. If a bus error occurs on the last write prior to
switching to the next read sequence, the read sequence executes before the channel
terminates due to the destination bus error.
A transfer may be cancelled by software with the CR[CX] bit. When a cancel transfer
request is recognized, the DMA engine stops processing the channel. The current read-
write sequence is allowed to finish. If the cancel occurs on the last read-write sequence of
a major or minor loop, the cancel request is discarded and the channel retires normally.
The error cancel transfer is the same as a cancel transfer except the Error Status register
(DMAx_ES) is updated with the cancelled channel number and ECX is set. The TCD of a
cancelled channel contains the source and destination addresses of the last transfer saved
in the TCD. If the channel needs to be restarted, you must re-initialize the TCD because
the aforementioned fields no longer represent the original parameters. When a transfer is
cancelled by the error cancel transfer mechanism, the channel number is loaded into
DMA_ES[ERRCHN] and ECX and VLD are set. In addition, an error interrupt may be
generated if enabled.
NOTE
The cancel transfer request allows the user to stop a large data
transfer in the event the full data transfer is no longer needed.
The cancel transfer bit does not abort the channel. It simply
stops the transferring of data and then retires the channel
through its normal shutdown sequence. The application
software must handle the context of the cancel. If an interrupt is
desired (or not), then the interrupt should be enabled (or
disabled) before the cancel request. The application software
must clean up the transfer control descriptor since the full
transfer did not occur.
The occurrence of any error causes the eDMA engine to stop normal processing of the
active channel immediately (it goes to its error processing states and the transaction to the
system bus still has pipeline effect), and the appropriate channel bit in the eDMA error
register is asserted. At the same time, the details of the error condition are loaded into the
Error Status register (DMAx_ES). The major loop complete indicators, setting the
transfer control descriptor DONE flag and the possible assertion of an interrupt request,
are not affected when an error is detected. After the error status has been updated, the
eDMA engine continues operating by servicing the next appropriate channel. A channel
that experiences an error condition is not automatically disabled. If a channel is
terminated by an error and then issues another service request before the error is fixed,
that channel executes and terminates with the same error condition.
The following figure shows how each DMA request initiates one minor-loop transfer, or
iteration, without CPU intervention. DMA arbitration can occur after each minor loop,
and one level of minor loop DMA preemption is allowed. The number of minor loops in
a major loop is specified by the beginning iteration count (BITER).
Minor loop
3
DMA request
Minor loop
Major loop
2
DMA request
Minor loop
1
The following figure lists the memory array terms and how the TCD settings interrelate.
For all error types other than group or channel priority errors, the channel number
causing the error is recorded in the Error Status register (DMAx_ES). If the error source
is not removed before the next activation of the problem channel, the error is detected and
recorded again.
Channel priority errors are identified within a group once that group has been selected as
the active group. For example:
1. The eDMA is configured for fixed group and fixed channel arbitration modes.
2. Group 1 is the highest priority and all channels are unique in that group.
3. Group 0 is the next highest priority and has two channels with the same priority
level.
4. If Group 1 has any service requests, those requests will be executed.
5. After all of Group 1 requests have completed, Group 0 will be the next active group.
6. If Group 0 has a service request, then an undefined channel in Group 0 will be
selected and a channel priority error will occur.
7. This repeats until the all of Group 0 requests have been removed or a higher priority
Group 1 request comes in.
In this sequence, for item 2, the eDMA acknowledge lines will assert only if the selected
channel is requesting service via the eDMA peripheral request signal. If interrupts are
enabled for all channels, the user will get an error interrupt, but the channel number for
the ERR register and the error interrupt request line may be wrong because they reflect
the selected channel. A group priority error is global and any request in any group will
cause a group priority error.
If priority levels are not unique, when any channel requests service, a channel priority
error is reported. The highest channel/group priority with an active request is selected,
but the lowest numbered channel with that priority is selected by arbitration and executed
by the eDMA engine. The hardware service request handshake signals, error interrupts,
and error reporting is associated with the selected channel.
programmed in increments to match the transfer size: one byte for the source and four
bytes for the destination. The final source and destination addresses are adjusted to return
to their beginning values.
TCDn_CITER = TCDn_BITER = 1
TCDn_NBYTES = 16
TCDn_SADDR = 0x1000
TCDn_SOFF = 1
TCDn_ATTR[SSIZE] = 0
TCDn_SLAST = -16
TCDn_DADDR = 0x2000
TCDn_DOFF = 4
TCDn_ATTR[DSIZE] = 2
TCDn_DLAST_SGA= –16
TCDn_CSR[INT_MAJ] = 1
TCDn_CSR[START] = 1 (Should be written last after all other fields have been initialized)
All other TCDn fields = 0
g. Read byte from location 0x100C, read byte from location 0x100D, read byte
from 0x100E, read byte from 0x100F.
h. Write 32-bits to location 0x200C → last iteration of the minor loop.
6. eDMA engine writes: TCDn_SADDR = 0x1010, TCDn_DADDR = 0x2010,
TCDn_CITER = 1.
7. eDMA engine writes: TCDn_CSR[ACTIVE] = 0.
8. The channel retires → one iteration of the major loop. The eDMA goes idle or
services the next channel.
9. Second hardware, that is, eDMA peripheral, requests channel service.
10. The channel is selected by arbitration for servicing.
11. eDMA engine writes: TCDn_CSR[DONE] = 0, TCDn_CSR[START] = 0,
TCDn_CSR[ACTIVE] = 1.
12. eDMA engine reads: channel TCD data from local memory to internal register file.
13. The source to destination transfers are executed as follows:
a. Read byte from location 0x1010, read byte from location 0x1011, read byte from
0x1012, read byte from 0x1013.
b. Write 32-bits to location 0x2010 → first iteration of the minor loop.
c. Read byte from location 0x1014, read byte from location 0x1015, read byte from
0x1016, read byte from 0x1017.
d. Write 32-bits to location 0x2014 → second iteration of the minor loop.
e. Read byte from location 0x1018, read byte from location 0x1019, read byte from
0x101A, read byte from 0x101B.
f. Write 32-bits to location 0x2018 → third iteration of the minor loop.
g. Read byte from location 0x101C, read byte from location 0x101D, read byte
from 0x101E, read byte from 0x101F.
h. Write 32-bits to location 0x201C → last iteration of the minor loop → major loop
complete.
14. eDMA engine writes: TCDn_SADDR = 0x1000, TCDn_DADDR = 0x2000,
TCDn_CITER = 2 (TCDn_BITER).
15. eDMA engine writes: TCDn_CSR[ACTIVE] = 0, TCDn_CSR[DONE] = 1, INT[n] =
1.
16. The channel retires → major loop complete. The eDMA goes idle or services the next
channel.
complete condition is indicated by both bits reading zero after the TCDn_CSR[START]
was set. Polling the TCDn_CSR[ACTIVE] bit may be inconclusive, because the active
status may be missed if the channel execution is short in duration.
The TCD status bits execute the following sequence for a software activated channel:
TCDn_CSR bits
Stage State
START ACTIVE DONE
1 1 0 0 Channel service request via software
2 0 1 0 Channel is executing
3a 0 0 0 Channel has completed the minor loop and is idle
3b 0 0 1 Channel has completed the major loop and is idle
The best method to test for minor-loop completion when using hardware, that is,
peripheral, initiated service requests is to read the TCDn_CITER field and test for a
change. The hardware request and acknowledge handshake signals are not visible in the
programmer's model.
The TCD status bits execute the following sequence for a hardware-activated channel:
TCDn_CSR bits
Stage State
START ACTIVE DONE
Channel service request via hardware (peripheral
1 0 0 0
request asserted)
2 0 1 0 Channel is executing
3a 0 0 0 Channel has completed the minor loop and is idle
3b 0 0 1 Channel has completed the major loop and is idle
For both activation types, the major-loop-complete status is explicitly indicated via the
TCDn_CSR[DONE] bit.
The TCDn_CSR[START] bit is cleared automatically when the channel begins execution
regardless of how the channel activates.
DADDR, and NBYTES, which decrement to zero as the transfer progresses, can give an
indication of the progress of the transfer. All other values are read back from the TCD
local memory.
TCDn_CITER[E_LINK] = 1
TCDn_CITER[LINKCH] = 0xC
TCDn_CITER[CITER] value = 0x4
TCDn_CSR[MAJOR_E_LINK] = 1
TCDn_CSR[MAJOR_LINKCH] = 0x7
executes as:
1. Minor loop done → set TCD12_CSR[START] bit
For a channel not using major loop channel linking, the coherency model described here
may be used for a dynamic scatter/gather request.
When the TCD.major.e_link bit is zero, the TCD.major.linkch field is not used by the
eDMA. In this case, the TCD.major.linkch bits may be used for other purposes. This
method uses the TCD.major.linkch field as a TCD indentification (ID).
1. When the descriptors are built, write a unique TCD ID in the TCD.major.linkch field
for each TCD associated with a channel using dynamic scatter/gather.
2. Write 1b to the TCD.d_req bit.
Should a dynamic scatter/gather attempt fail, setting the TCD.d_req bit will prevent a
future hardware activation of this channel. This stops the channel from executing
with a destination address (daddr) that was calculated using a scatter/gather address
(written in the next step) instead of a dlast final offest value.
3. Write the TCD.dlast_sga field with the scatter/gather address.
4. Write 1b to the TCD.e_sg bit.
5. Read back the 16 bit TCD control/status field.
6. Test the TCD.e_sg request status and TCD.major.linkch value:
If e_sg = 1b, the dynamic link attempt was successful.
If e_sg = 0b and the major.linkch (ID) did not change, the attempted dynamic link
did not succeed (the channel was already retiring).
If e_sg = 0b and the major.linkch (ID) changed, the dynamic link attempt was
successful (the new TCD’s e_sg value cleared the e_sg bit).
For a channel using major loop channel linking, the coherency model described here may
be used for a dynamic scatter/gather request. This method uses the TCD.dlast_sga field as
a TCD indentification (ID).
1. Write 1b to the TCD.d_req bit.
Should a dynamic scatter/gather attempt fail, setting the d_req bit will prevent a
future hardware activation of this channel. This stops the channel from executing
with a destination address (daddr) that was calculated using a scatter/gather address
(written in the next step) instead of a dlast final offest value.
2. Write theTCD.dlast_sga field with the scatter/gather address.
3. Write 1b to the TCD.e_sg bit.
4. Read back the TCD.e_sg bit.
5. Test the TCD.e_sg request status:
If e_sg = 1b, the dynamic link attempt was successful.
If e_sg = 0b, read the 32 bit TCD dlast_sga field.
If e_sg = 0b and the dlast_sga did not change, the attempted dynamic link did not
succeed (the channel was already retiring).
If e_sg = 0b and the dlast_sga changed, the dynamic link attempt was successful (the
new TCD’s e_sg value cleared the e_sg bit).
2. Ensure there is no DMA service request from the DSPI by verifying that
DMA_HRS[HRSn] is 0 for the appropriate channel. If no service request is present,
disable the DMA channel by clearing the channel’s ERQ bit. If a service request is
present, wait until the request has been processed and the HRS bit reads zero.
22.1 Overview
The enhanced secured digital host controller (eSDHC) provides interface between the
host system and the SD/SDIO/MMC cards, as depicted in the figure below.
The eSDHC acts as a bridge, passing host bus transactions to the SD/SDIO/MMC cards
by sending commands and performing data accesses to/from the cards.
It handles the SD/SDIO/MMC protocols at the transmission level.
Different types of cards supported by the eSDHC are described below:
• MultiMediaCard (MMC)
MMC is a universal low-cost data storage and communication medium designed to
cover a wide area of applications, including mobile video and gaming, which are
available from either pre-loaded MMC cards or downloadable from cellular phones,
WLAN, or other wireless networks. Old MMC cards are based on a seven-pin serial
bus with a single data pin, while the new high-speed MMC communication is based
on advanced 11-pin serial bus designed to operate in a low voltage range.
• Secure digital (SD) card
The secure digital (SD) card is an evolution over the old MMC technology. It is
specifically designed to meet the security, capacity, performance, and environmental
requirements inherent in the emerging audio and video consumer electronic devices.
The physical form factor, pin assignments, and data transfer protocol are forward-
compatible with the old MMC. The chip supports SDXC card.
• SDIO
Under the SD protocol, the SD cards can be categorized as a memory card, I/O card,
or combo card. The memory card invokes a copyright protection mechanism that
complies with the security of the SDMI standard. The I/O card provides high-speed
data I/O with low power consumption for mobile electronic devices. The combo card
has both memory and I/O functions. For the sake of simplicity, the following figure
does not show cards with reduced sizes.
In addition, the chip also supports the embedded devices, such as and eSDIO. Note that
all references to SDIO are also applicable to eSDIO.
The eSDHC acts as a bridge, passing host bus transactions to MMC/SD/SDIO cards by
sending commands and performing data accesses to or from the cards. It handles the
MMC/SD/SDIO protocol at the transmission level. The figure below shows connection of
the eSDHC.
eSDHC
Host Controller
MMC/SD/SDIO
Transceiver
Card
Card Slot
DMA Interface Register Bus
Power
Supply
SD monitor
Register
Register bank
interface SD interface and control unit
SD data_in Async
FIFO
SD response Tuning
Block
System interface and control unit SD bus
System
control Transfer SD
control command
System
interface
Buffer
RAM
• Identification mode
• MMC full speed mode
• MMC high speed mode
• SD/SDIO full speed mode
• SD/SDIO high speed mode
• SD/SDIO UHS-1 SDR12 mode
• SD/SDIO UHS-1 SDR25 mode
• SD/SDIO UHS-1 SDR50 mode
• SD/SDIO UHS-1 SDR104 mode
• SD/SDIO UHS-1 DDR50 mode
• MMC HS200 mode
• MMC DDR mode
NOTE
For the maximum supported speed of the modes, refer chip-
specific datasheet.
The table below shows the memory-mapped registers of the eSDHC module and lists the
offset, name, and a cross-reference to the complete description of each register. These
register only support 32-bit accesses.
22.3.2.1 Offset
Register Offset
DSADDR_BLKATTR2 0h
22.3.2.2 Function
The DSADDR contains the physical system memory address used for single DMA
transfers or second argument for Auto CMD23.
22.3.2.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
DS_ADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
DS_ADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.2.4 Fields
Field Function
0-31 DMA system address / Block attributes 2
DS_ADDR This register contains the physical system memory address used for DMA transfers or second argument
for Auto CMD23.
SDMA system address:
This register contains the 32-bit system memory address for a single DMA (SDMA) transfer. When the
eSDHC stops a DMA transfer, this register points to the system address of the next contiguous data
position. It can be accessed only when no transaction is executing (that is, after a transaction has
stopped). The host driver should initialize this register before starting a every DMA transaction. After DMA
has stopped, the system address of the next contiguous data position can be read from this register.
The eSDHC DMA does not support a virtual memory system. It only supports continuous physical
memory access.
Block attributes 2:
This register is used with Auto CMD23 to set 32-bit block count value to the argument of CMD23 while
executing Auto CMD23.
If Auto CMD23 is used with ADMA, the full 32-bit block count value can be used.
If Auto CMD23 is used without ADMA, the available block count value is limited by 16-bit Block Count
field in Block Attributes register. 65536 blocks is the maximum value available in this case.
22.3.3.1 Offset
Register Offset
BLKATTR 4h
22.3.3.2 Function
The BLKATTR is used to configure the number of data blocks and the number of bytes
in each block.
22.3.3.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
BLKCNT
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved BLKSIZE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.3.4 Fields
Field Function
0-15 Blocks count for current transfer.
BLKCNT • This register is enabled when XFERTYP[BCEN] is set to 1 and is valid only for multiple block
transfers. The host driver should set this register to a value between 1 and the maximum block
count. The eSDHC decrements the block count after each block transfer and stops when the count
reaches zero. Setting the block count to 0 results in no data blocks being transferred.
• This register should be accessed only when no transaction is executing (that is, after transactions
are stopped). During data transfer, read operations on this register may return an invalid value and
write operations are ignored.
• When saving transfer content as a result of a suspend command, the number of blocks yet to be
transferred can be determined by reading this register. The reading of this register should be
applied after transfer is paused by stop at block gap operation and before sending the command
marked as suspend. This is because when suspend command is sent out, eSDHC will regard the
current transfer is aborted and change BLKCNT back to its original value instead of keeping the
dynamical indicator of remained block count.
• When restoring transfer content prior to issuing a resume command, the host driver should restore
the previously saved block count.
Table continues on the next page...
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
1026 NXP Semiconductors
Chapter 22 Enhanced Secured Digital Host Controller
Field Function
0000000000000000b - Stop count
0000000000000001b - 1 block
0000000000000010b - 2 blocks
1111111111111111b - 65535 blocks
16-19 Reserved.
—
20-31 Transfer block size. This register specifies the block size for block data transfers. Values ranging from 1
byte up to the maximum buffer size can be set. It can be accessed only when no transaction is executing
BLKSIZE
(that is, after a transaction has stopped). Read operations during transfers may return an invalid value,
and write operations will be ignored.
000000000000b - No data transfer
000000000001b - 1 byte
000000000010b - 2 bytes
000000000011b - 3 bytes
000000000100b - 4 bytes
000111111111b - 511 bytes
001000000000b - 512 bytes
100000000000b - 2048 bytes
22.3.4.1 Offset
Register Offset
CMDARG 8h
22.3.4.2 Function
The CMDARG contains the SD/MMC command argument.
22.3.4.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
CMDARG
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
CMDARG
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.4.4 Fields
Field Function
0-31 Command argument. The SD/MMC command argument is specified as bits 39-8 of the command format
in the SD or MMC Specification. This register is write protected when PRSSTAT[CIHB] is set.
CMDARG
22.3.5.1 Offset
Register Offset
XFERTYP Ch
22.3.5.2 Function
The host driver should set the XFERTYP to issue any new command. To prevent data
loss, the eSDHC prevents writing to the bits, that are involved in the data transfer of this
register, when data transfer is active: MBSEL, DTDSEL, AC12EN, BCEN, and
DMAEN.
The host driver should check PRSSTAT[CDIHB] and PRSSTAT[CIHB] before writing
to this register. When PRSSTAT[CDIHB] is set, any attempt to send a command with
data by writing to this register is ignored; when PRSSTAT[CIHB] is set, any write to this
register is ignored.
On sending commands with data transfer, it is mandatory that the block size is non-zero.
Besides, block count must also be non-zero, or indicated as single block transfer
(XFERTYP[MSBSEL] is '0' when written), or block count is disabled
(XFERTYP[BCEN] is '0' when written), otherwise eSDHC will ignore the sending of this
command and do nothing. For write commands, with all above restrictions, it is also
mandatory that the write protect switch is not active (PRSSTAT[WPS] is '1), otherwise
eSDHC will also ignore the command.
If the commands with write data transfer does not receive the response in 64 clock cycles,
that is, response time-out, eSDHC will regard the external device does not accept the
command and will not initiate the data transfer on SD bus. In this scenario, the driver
should perform error recovery and issue the command again to re-try the transfer.
It is also possible that for some reason the card responds to the read data command but
eSDHC does not receive the response, and if it is a DMA (SDMA or ADMA ) read
operation, the external system memory is over-written by the DMA with data sent back
from the card.
Table 22-2. Transfer Type Register Setting for Various Transfer Types
Multi-/Single Block Select Block Count Enable Block Count Function
0 Don't Care Don't Care Single Transfer
1 0 Don't Care Infinite Transfer
1 1 Positive Number Multiple Transfer
1 1 Zero No Data Transfer
The table below shows the relationship between the command index check enable and the
command CRC check enable, in regards to the response type bits as well as the name of
the response type.
Table 22-3. Relationship Between Parameters and the Name of the Response Type
Response type Index Check Enable CRC Check Enable Name of Response Type
00 0 0 No Response
01 0 1 R2
10 0 0 R3, R4
10 1 1 R1, R5, R6, R7
11 1 1 R1b, R5b
• In the SDIO Specification, response type notation for R5b is not defined. R5 includes
R5b in the SDIO Specification. But R5b is defined in this specification to specify
that the eSDHC checks the busy status after receiving a response. For example,
usually CMD52 is used with R5, but the I/O abort command should be used with
R5b.
• The CRC field for R3 and R4 is expected to be all 1 bits. The CRC check should be
disabled for these response types.
22.3.5.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CMDTYP
Reserved
Reserved
CMDINX
CCCEN
CICEN
RSPTY
DPSE
W
P
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
DMAEN
MSBSE
DTDSE
BCEN
ACEN
W
L
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.5.4 Fields
Field Function
0-1 Reserved.
—
2-7 Command index
CMDINX Command index. These bits should be set to the command number that is specified in bits 45-40 of the
command format in the SD Memory Card Physical Layer Specification and SDIO Card Specification .
8-9 Command Type
CMDTYP Command Type. There are three types of special commands: suspend, resume, and abort. These bits
should be set to 00b for all other commands.
• Suspend command: If the suspend command succeeds, the eSDHC should assume that the card
bus has been released and that it is possible to issue the next command which uses the DAT line.
Since eSDHC does not monitor the content of command response, it does not know if the suspend
command succeeded or not. It is the host driver's responsibility to check the status of the suspend
command and send another command marked as Suspend to inform the eSDHC that a suspend
command was successfully issued. Refer to Suspend resume for more details. After the start bit of
command is sent, the eSDHC de-asserts read wait for read transactions and stops checking busy
for write transactions. In 4-bit mode, the interrupt cycle starts. If the suspend command fails, the
Table continues on the next page...
Field Function
eSDHC will maintain its current state, and the host driver should restart the transfer by setting
PROCTL[CREQ].
• Resume command: The host driver re-starts the data transfer by restoring the registers saved
before sending the suspend command and then sends the resume command.
• Abort command: If this command is set when executing a read transfer, the eSDHC will stop write
to the buffer after end bit of abort command is sent. If this command is set when executing a write
transfer, the eSDHC will stop driving the DAT line. After issuing the abort command, the host driver
should issue a software reset (abort transaction).
NOTE: In resume command, this bit should be set, and other bits in this register should be set the same
as when the transfer was initially launched. When the write protect switch is on (that is,
PRSSTAT[WPS] is active as '0'), any command with a write operation will be ignored. That is to
say, when this bit is set, while XFRTYP[DTDSEL] is 0, writes to the transfer type register
(XFRTYP) are ignored.
0b - No data present
1b - Data present
11 Command index check enable. If this bit is set to 1, the eSDHC checks the Index field in the response to
see if it has the same value as the command index. If it is not, it is reported as a command index error. If
CICEN
this bit is set to 0, the Index field is not checked.
0b - Disable
1b - Enable
12 Command CRC check enable
CCCEN Command CRC check enable. If this bit is set to 1, the eSDHC should check the CRC field in the
response. If an error is detected, it is reported as a command CRC error. If this bit is set to 0, the CRC
field is not checked. The number of bits checked by the CRC field value changes according to the length
of the response. (Refer to RSPTYP[1:0] and Table 22-3.)
0b - Disable
1b - Enable
13 Reserved.
—
14-15 Response type select.
RSPTYP 00b - No response
01b - Response length 136
10b - Response length 48
11b - Response length 48, check busy after response
16-25 Reserved.
—
26 Multi-/single-block select
MSBSEL Multi-/single-block select. This bit enables multiple block DAT line data transfers. For any other
commands, this bit should be set to 0. If this bit is 0, it is not necessary to set the block count register.
(Refer to Table 22-2.)
Table continues on the next page...
Field Function
0b - Single block
1b - Multiple blocks
27 Data transfer direction select. This bit defines the direction of DAT line data transfers. The bit is set to 1
by the host driver to transfer data from the SD card to the eSDHC and is set to 0 for all other commands.
DTDSEL
0b - Write (host to card)
1b - Read (card to host)
28-29 Auto CMD12 enable
ACEN Auto CMD12 enable. Multiple block transfers for memory require a CMD12 to stop the transaction. When
this bit is set to 1, the eSDHC will issue a CMD12 automatically when the last block transfer has
completed. The host driver should not set this bit to issue commands that do not require CMD12 to stop a
multiple block data transfer. In particular, secure commands defined in File security specification do not
require CMD12. In single block transfer, the eSDHC will ignore this bit whether if it is set or not.
Auto CMD23 Enable. When this bit is set to 10b, the eSDHC will issue a CMD23 automatically before
issuing a command specified in the transfer type register. The following conditions are required to use
Auto CMD23:
• A memory card that supports CMD23 (For SD card, SCR[33]=1)
• If DMA is used, it shall be ADMA
• Only when CMD18 or CMD25 is issued
22.3.6.1 Offset
Register Offset
CMDRSP0 10h
22.3.6.2 Function
The CMDRSP0 is used to store part 0 of the response bits from the card.
22.3.6.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R CMDRSP0
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R CMDRSP0
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.6.4 Fields
Field Function
0-31 Command response 0
CMDRSP0 Command response 0. Refer to Command Response 3 register (CMDRSP3) for the mapping of
command responses from the SD bus to this register for each response type.
22.3.7.1 Offset
Register Offset
CMDRSP1 14h
22.3.7.2 Function
The CMDRSP1 is used to store part 1 of the response bits from the card.
22.3.7.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R CMDRSP1
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R CMDRSP1
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.7.4 Fields
Field Function
0-31 Command response 1
CMDRSP1 Command response 1. Refer to Command Response 3 register (CMDRSP3) for the mapping of
command responses from the SD bus to this register for each response type.
22.3.8.1 Offset
Register Offset
CMDRSP2 18h
22.3.8.2 Function
The CMDRSP2 is used to store part 2 of the response bits from the card.
22.3.8.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R CMDRSP2
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R CMDRSP2
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.8.4 Fields
Field Function
0-31 Command response 2
CMDRSP2 Command response 2. Refer to Command Response 3 register (CMDRSP3) for the mapping of
command responses from the SD bus to this register for each response type.
22.3.9.1 Offset
Register Offset
CMDRSP3 1Ch
22.3.9.2 Function
The CMDRSP3 is used to store part 3 of the response bits from the card.
Table below describes the mapping of command responses from the SD bus to command
response registers for each response type. In the table, R n refers to a bit range within the
response data as transmitted on the SD bus.
Table 22-4. Response bit definition for each response type
Response type Meaning of response Response field Response register
R1,R1b (normal response) Card Status R[39:8] CMDRSP0
R1b (Auto CMD12 response) Card Status for Auto CMD12 R[39:8] CMDRSP3
R2 (CID, CSD register) CID/CSD register [127:8] R[127:8] {CMDRSP3[8:31],
CMDRSP2,
CMDRSP1,
CMDRSP0}
R3 (OCR register) OCR register for memory R[39:8] CMDRSP0
R4 (OCR register) OCR register for I/O R[39:8] CMDRSP0
R5, R5b SDIO response R[39:8] CMDRSP0
R6 (Publish RCA) New Published RCA[31:16] and card R[39:9] CMDRSP0
status[15:0]
bits in the transfer type register, XFERTYP) and generate an error interrupt if any error is
detected. The bit range for the CRC check depends on the response length. If the
response length is 48, the eSDHC checks R[47:1], and if the response length is 136 the
eSDHC checks R[119:1].
Since eSDHC may have a multiple block data transfer executing concurrently with a
CMD_wo_DAT command, it stores the Auto CMD12 response in the CMDRSP3
register. The CMD_wo_DAT response is stored in CMDRSP0. This allows the eSDHC
to avoid overwriting the Auto CMD12 response with the CMD_wo_DAT and vice versa.
When the eSDHC modifies part of the command response registers (CMDRSP n ), as
shown in the table above, it preserves the unmodified bits.
22.3.9.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R CMDRSP3
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R CMDRSP3
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.9.4 Fields
Field Function
0-31 Command response 3
CMDRSP3 Command response 3. Refer to Command Response 3 register (CMDRSP3) for the mapping of
command responses from the SD bus to this register for each response type.
22.3.10.1 Offset
Register Offset
DATPORT 20h
22.3.10.2 Function
The DATPORT is a 32-bit data port register used to access the internal buffer. Byte
access is not allowed.
22.3.10.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
DATCONT
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
DATCONT
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.10.4 Fields
Field Function
0-31 Data content. The buffer data port register is for 32-bit data access by the CPU. When the DMA is
enabled, any write to this register is ignored, and any read from this register always yields zeros.
DATCONT
22.3.11.1 Offset
Register Offset
PRSSTAT 24h
22.3.11.2 Function
The host driver can get the status of the eSDHC from the PRSSTAT, which is a 32-bit,
read-only register.
22.3.11.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CINS
CDS
DLS
R CLS
Reserved
Reserved
WP
S
L
L
W
Reset 1 1 1 1 1 1 1 1 1 0 0 0 u u 0 u
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
BWEN
CDIHB
SDOF
CIHB
SDST
Reserved
Reserved
WTA
RTA
DLA
BRE
R
N
B
F
W
Reset 0 0 0 0 0 0 0 0 u 0 0 0 1 0 0 0
22.3.11.4 Fields
Field Function
0-7 DAT[7:0] line signal level
DLSL DAT[7:0] line signal level. This status is used to check the DAT line level to recover from errors, and for
debugging.This is especially useful in detecting the busy signal level from DAT[0]. The reset value is
effected by the external pull-up/pull-down resistors. By default, the read value of this bit field after reset is
8'b11111111
DLSL[0]: Data 0 line signal level
DLSL[1]: Data 1 line signal level
DLSL[2]: Data 2 line signal level
DLSL[3]: Data 3 line signal level
DLSL[4]: Data 4 line signal level
Table continues on the next page...
Field Function
DLSL[5]: Data 5 line signal level
DLSL[6]: Data 6 line signal level
DLSL[7]: Data 7 line signal level
8 CMD line signal level. This status is used to check the CMD line level to recover from errors, and for
debugging. The reset value is effected by the external pull-up/pull-down resistor, by default, the read
CLSL
value of this bit after reset is 1, when the command line is pulled up.
9-11 Reserved.
—
12 Write protect state
WPS Write protect state. The write protect switch is supported for memory and combo cards. This bit reflects
the write protect state depending on value of SDHC_WP pin of the card socket. A software reset does not
affect this bit. The reset value is effected by the external write protect switch. If the SDHC_WP pin is not
used, it should be tied low, so that the reset value of this bit is high and write is enabled.
0b - Write protected (SDHC_WP =1)
1b - Write enabled (SDHC_WP =0)
13 Card detect state
CDS Card detect state. This bit reflects the card inserted/removed state depending on value of the
SDHC_CD_B pin for the card socket. Debouncing is not performed on this bit. This bit may be valid, but
is not guaranteed, because of propagation delay. Use of this bit is limited to testing since it must be
debounced by software. A software reset does not effect this bit. A write to the force event register
(FEVT) does not affect this bit. The reset value is effected by the external card detection pin. This bit
shows the value on the SDHC_CD_B pin (that is, when a card is inserted in the socket, it is 0 on the
SDHC_CD_B input, and consequently the CDS reads 1.)
0b - No card present (SDHC_CD_B =1)
1b - Card present SDHC_CD_B =0)
14 Reserved.
—
15 Card inserted. This bit indicates whether a card has been inserted. The eSDHC debounces this signal so
that the host driver will not need to wait for it to stabilize. Changing from a 0 to 1 generates a card
CINS
insertion interrupt in the interrupt status register (IRQSTAT). Changing from a 1 to 0 generates a card
removal interrupt in the interrupt status register (IRQSTAT). A write to the force event register (FEVT)
does not effect this bit.
The software reset for all in the system control register (SYSCTL) does not effect this bit. A software reset
does not effect this bit.
0b - Power on reset or no card
1b - Card inserted
16-19 Reserved.
—
20 Buffer read enable. This status bit is used for non-DMA read transfers. The eSDHC may implement
multiple buffers to transfer data efficiently. This read only flag indicates that valid data exists in the host
BREN
side buffer. If this bit is high, valid data greater than the watermark level exist in the buffer. A change of
this bit from 1 to 0 occurs when any read from the buffer is made. A change of this bit from 0 to1 occurs
when there is enough valid data ready in the buffer and the buffer read ready interrupt has been
generated and enabled.
0b - Read disable
1b - Read enable
Field Function
21 Buffer write enable. This status bit is used for non-DMA write transfers. The eSDHC can implement
multiple buffers to transfer data efficiently. This read only flag indicates if space is available for write data.
BWEN
If this bit is 1, valid data greater than the watermark level can be written to the buffer. A change of this bit
from 1 to 0 occurs when any write to the buffer is made. A change of this bit from 0 to 1 occurs when the
buffer can hold valid data greater than the write watermark level and the buffer write ready interrupt is
generated and enabled.
0b - Write disable
1b - Write enable
22 Read transfer active. This status bit is used for detecting completion of a read transfer.
RTA • This bit is set for either of the following conditions:
• After the end bit of the read command.
• When read operation is restarted by writing a 1 to PROCTL[CREQ].
• This bit is cleared for either of the following conditions:
• When the last data block as specified by block length is transferred to the system.
• In the case of ADMA2, end of read operation is designated by descriptor table.
• When all valid data blocks in the host controller have been transferred to the system and no
current block transfers are being sent as a result of the stop at block gap request being set to
1.
During a write transaction, a block gap event interrupt is generated when this bit is changed to 0, as result
of the stop at block gap request being set. This status is useful for the host driver in determining when to
issue commands during write busy state.
0b - No valid data
1b - Transferring data
24 SD clock gated off internally. This status bit indicates that the SD clock is internally gated off, because of
buffer over/under-run or read pause without read wait assertion.
SDOFF
0b - SD clock is active
1b - SD clock is gated off
25-27 Reserved.
—
28 SD clock stable. This status bit indicates that the internal card clock is stable. This bit is for the host driver
to poll clock status when changing the clock frequency. It is recommended to clear SYSCTL[SDCLKEN]
SDSTB
to remove glitch on the card clock when the frequency is changing.
0b - Clock is changing frequency and not stable
1b - Clock is stable
29 Data line active. This status bit indicates whether one of the DAT lines on the SD bus is in use.
Table continues on the next page...
Field Function
DLA In the case of read transactions:
• This status indicates if a read transfer is executing on the SD bus. Changes in this value from 1 to
0, between data blocks, generates a block gap event interrupt in the interrupt status register
(IRQSTAT).
• This bit will be set in either of the following cases:
• After the end bit of the read command.
• When writing a 1 to PROCTL[CREQ] to restart a read transfer.
• This bit should be cleared in either of the following cases:
• When the end bit of the last data block is sent from the SD bus to the host controller. In case
of ADMA2, the last block is designated by the last transfer of descriptor table.
• When a read transfer is stopped at the block gap initiated by a stop at block gap request.
• The eSDHC will wait at the next block gap by driving read wait at the start of the interrupt cycle. If
the read wait signal is already driven (data buffer cannot receive data), the eSDHC can wait for a
current block gap by continuing to drive the read wait signal. It is necessary to support read wait in
order to use the suspend/resume function. This bit will remain 1 during read wait.
Changing this bit from 1 to 0 generate a transfer complete interrupt in the interrupt status register
(IRQSTAT).
0b - DAT line inactive
1b - DAT line active
30 Command inhibit (DAT). This status bit is generated if either the DAT line active or the read transfer
active is set to 1. If this bit is 0, it indicates the eSDHC can issue the next SD/MMC Command.
CDIHB
Commands with busy signal belong to command inhibit (DAT) (for example, R1b, R5b type). Changing
from 1 to 0 generates a transfer complete interrupt in the interrupt status register (IRQSTAT).
NOTE: The SD host driver can save registers for a suspend transaction after this bit has changed from 1
to 0.
0b - Can issue command which uses the DAT line
1b - Cannot issue command which uses the DAT line
31 Command inhibit (CMD). If this status bit is 0, it indicates that the CMD line is not in use and the eSDHC
can issue a SD/MMC Command using the CMD line.
CIHB
This bit is set also immediately after the transfer type register (XFERTYP) is written. This bit is cleared
when the command response is received. Even if the command inhibit (DAT) is set to 1, Commands
using only the CMD line can be issued if this bit is 0. Changing from 1 to 0 generates a command
complete interrupt in the interrupt status register (IRQSTAT). If the eSDHC cannot issue the command
Field Function
because of a command conflict error (Refer to command CRC error) or because of a command not
issued by Auto CMD12 Error, this bit will remain 1 and the command complete is not set. The status of
issuing an Auto CMD12 does not show on this bit.
0b - Can issue command using only CMD line
1b - Cannot issue command
22.3.12.1 Offset
Register Offset
PROCTL 28h
22.3.12.2 Function
There are three cases to restart the transfer after stop at the block gap. Which case is
appropriate depends on whether the eSDHC issues a suspend command or the SD card
accepts the suspend command.
1. If the host driver does not issue a suspend command, the continue request should be
used to restart the transfer.
2. If the host driver issues a suspend command and the SD card accepts it, a resume
command should be used to restart the transfer.
3. If the host driver issues a suspend command and the SD card does not accept it, the
continue request should be used to restart the transfer.
Any time a stop at block gap request stops the data transfer, the host driver should wait
for a transfer complete (in the interrupt status register, IRQSTAT), before attempting to
restart the transfer. When restarting the data transfer by continue request, the host driver
should clear the stop at block gap request before or simultaneously.
22.3.12.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
WECINS
WECRM
WECINT
Reserved
Reserved
SABGRE
RWCTL
CREQ
IABG
W
Q
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
VOLT_SEL
Reserved
Reserved
Reserved
EMODE
DMAS
CDTL
DTW
CDS
W
S
Reset 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
22.3.12.4 Fields
Field Function
0-4 Reserved.
—
5 Wakeup event enable on SD card removal
WECRM Wakeup event enable on SD card removal. This bit enables a wakeup event, via a card removal, in the
interrupt status register (IRQSTAT). FN_WUS (wake up support) in CIS of SDIO card does not effect this
bit. When this bit is set, the card removal status and the eSDHC interrupt can be asserted without
SDHC_CLK toggling. When the wakeup feature is not enabled, the SDHC_CLK must be active in order to
assert the card removal status and the eSDHC interrupt.
0b - Disable
1b - Enable
6 Wakeup event enable on SD card insertion
WECINS Wakeup event enable on SD card insertion. This bit enables a wakeup event, via a card insertion, in the
interrupt status register (IRQSTAT). FN_WUS (wake up support) in CIS of the SDIO card does not affect
this bit. When this bit is set, the card insertion status and the eSDHC interrupt can be asserted without
SDHC_CLK toggling. When the wakeup feature is not enabled, the SDHC_CLK must be active in order to
assert the card insertion status and the eSDHC interrupt.
0b - Disable
1b - Enable
7 Wakeup event enable on card interrupt
WECINT Wakeup event enable on card interrupt. This bit enables a wakeup event, via a card interrupt, in the
interrupt status register (IRQSTAT). This bit can be set to 1 if FN_WUS (wake up support) in CIS of SDIO
card is set to 1. When this bit is set, the card interrupt status and the eSDHC interrupt can be asserted
without SDHC_CLK toggling. When the wakeup feature is not enabled, the SDHC_CLK must be active in
order to assert the card interrupt status and the eSDHC interrupt.
0b - Disable
1b - Enable
Field Function
8-11 Reserved.
—
12 Interrupt at block gap. This bit is valid only in 4-bit mode of the SDIO card, and selects a sample point in
the interrupt cycle. Setting to 1 enables interrupt detection at the block gap for a multiple block transfer.
IABG
Setting to 0 disables interrupt detection during a multiple block transfer. If the SDIO card cannot signal an
interrupt during a multiple block transfer, this bit should be set to 0 to avoid an inadvertent interrupt. When
the host driver detects an SDIO card insertion, it should set this bit according to the CCCR of the card.
0b - Disable
1b - Enable
13 Read wait control. The read wait function is optional for SDIO cards. If the card supports read wait, set
this bit to enable use of the read wait protocol to stop read data using the DAT[2] line. Otherwise the
RWCTL
eSDHC has to stop the SD Clock to hold read data, which restricts commands generation. When the host
driver detects an SDIO card insertion, it should set this bit according to the CCCR of the card. If the card
does not support read wait, this bit should never be set to 1, otherwise DAT line conflicts may occur. If
this bit is set to 0, stop at block gap during read operation is also supported, but the eSDHC will stop the
SD clock to pause reading operation.
0b - Disable read wait control, and stop SD clock at block gap when SABGREQ bit is set
1b - Enable read wait control, and assert read wait without stopping SD clock at block gap when
SABGREQ bit is set
14 Continue request. This bit is used to restart a transaction, which was stopped using the stop at block gap
request. To cancel stop at the block gap, set stop at block gap request to 0 and set this bit 1 to restart the
CREQ
transfer.
The eSDHC automatically clears this bit in either of the following cases:
• In the case of a read transaction, the DAT line active changes from 0 to 1 as a read transaction
restarts.
• In the case of a write transaction, the write transfer active changes from 0 to 1 as the write
transaction restarts.
Therefore, it is not necessary for host driver to set this bit to 0. If stop at block gap request is set to 1, any
write to this bit is ignored.
0b - No effect
1b - Restart
15 Stop at block gap request
SABGREQ Stop at block gap request. This bit is used to stop executing a transaction at the next block gap for both
DMA and non-DMA transfers. Until the transfer complete is set to 1, indicating a transfer completion, the
host driver should leave this bit set to 1. Clearing both the stop at block gap request and continue request
does not cause the transaction to restart. Read wait is used to stop the read transaction at the block gap.
The eSDHC will honor the stop at block gap request for write transfers, but for read transfers it requires
that the SDIO card support read wait. Therefore, the host driver should not set this bit during read
transfers unless the SDIO card supports read wait and has set the read wait control to 1, otherwise the
eSDHC will stop the SD bus clock to pause the read operation during block gap. In the case of write
transfers in which the host driver writes data to the data port register, the host driver should set this bit
after all block data is written. If this bit is set to 1, the host driver should not write data to the data port
register after a block is sent. Once this bit is set, the host driver should not clear this bit before the
transfer complete bit in (IRQSTAT)is set, otherwise the eSDHCs behavior is undefined.
This bit effects read transfer active, write transfer active, PRSSTAT[DLA] and PRSSTAT[CDIHB].
0b - Transfer
1b - Stop
16-20 Reserved.
—
Field Function
21 Voltage selection
VOLT_SEL Voltage selection. Change the value of output signal SDHC_VS , to control the SD bus supply voltage for
external card. There must be a control circuit out of eSDHC to change the voltage.
0b - Change the SD Bus Supply voltage to high voltage range, around 3.0V
1b - Change the SD bus supply voltage to low voltage range, around 1.8V
22-23 DMA select
DMAS DMA select. This field is valid while DMA (SDMA or ADMA) is enabled and selects the DMA operation.
00b - Single DMA is selected
01b - ADMA1 is selected
10b - 32-bit address ADMA2 is selected
11b - Reserved
24 Card detect signal selection. This bit selects the source for the card detection.
CDSS 0b - SD CD pin is selected (for normal purposes)
1b - Card detection test level is selected (for test purposes)
25 Card detect test level. This is bit is enabled while the card detection signal selection is set to 1 and it
indicates card insertion.
CDTL
0b - Card detect test level is 0, no card inserted
1b - Card detect test level is 1, card inserted
26-27 Endian mode. The eSDHC supports little and big endian mode for transferring between buffer port
register and data buffer.
EMODE
00b - Big endian mode
01b - Reserved
10b - Little endian mode
11b - Reserved
28 Reserved.
—
29-30 Data transfer width. This bit selects the data width of the SD bus for a data transfer. The host driver
should set it to match the data width of the card. Possible Data transfer widths are 1-bit, 4-bits, and 8-bits.
DTW
00b - 1-bit mode
01b - 4-bit mode
10b - 8-bit mode
11b - Reserved
31 Reserved.
—
22.3.13.1 Offset
Register Offset
SYSCTL_ESDHCCTL_ 2Ch
CRS_0
22.3.13.2 Function
The clock divider mode(16-27 bits in this register) is selected according to Clock
Register Select field in eSDHC Control register. Other bits of the register remain
unaffected by clock register select value.
22.3.13.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
Reserved
DTOCV
INITA
RST
RST
RST
W
D
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
SDCLKEN
Reserved
SDCLKF
DVS
W
S
Reset 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0
22.3.13.4 Fields
Field Function
0-3 Reserved.
—
4 Initialization active. When this bit is set, 80 SD clocks are sent to the card. After the 80 clocks are sent,
this bit is self cleared. This bit is very useful during the card power-up period when 74 SD-Clocks are
INITA
needed. Writing 1 to this bit when this bit is already 1 has no effect. Writing 0 to this bit at any time has no
effect. When either PRSSTAT[CIHB] or PRSSTAT[CDIHB] are set, writing 1 to this bit is ignored (that is,
when command line or data lines are active, write to this bit is not allowed). On the other hand, when this
bit is set, that is, during intialization active period, it is allowed to issue command, and the command bit
Table continues on the next page...
Field Function
stream will appear on the CMD pad after all 80 clock cycles are done. So when this command ends, the
driver can make sure the 80 clock cycles are sent out. This is very useful when the driver needs send 80
cycles to the card and does not want to wait till this bit is self cleared.
5 Software reset for DAT line. Only part of the data circuit is reset. DMA circuit is also reset.
RSTD The following registers and bits are cleared by this bit:
• Data port register
• Buffer is cleared and initialized
• Present state register (PRSSTAT)
• Buffer read enable
• Buffer write enable
• Read transfer active
• Write transfer active
• DAT line active
• Command inhibit (DAT)
• Protocol control register (PROCTL)
• Continue request
• Stop at block gap request
• Interrupt status register (IRQSTAT)
• Buffer read ready
• Buffer write ready
• DMA interrupt
• Block gap event
• Transfer complete
NOTE: This bit will be self cleared by eSDHC when Software Reset for Data is complete, so Software
should poll for it to be cleared after setting it.
0b - No reset
1b - Reset
6 Software reset for CMD line. Only part of the command circuit is reset.
RSTC The following registers and bits are cleared by this bit:
• PRSSTAT[CIHB]
• IRQSTAT[CC]
NOTE: This bit will be self cleared by eSDHC when Software Reset for Command is complete, so
software should poll for it to be cleared after setting it.
0b - No reset
1b - Reset
7 Software reset for all. This reset effects the entire host controller except for the card detection circuit.
Register bits of type R, RW, RW1C are cleared. During its initialization, the host driver should set this bit
RSTA
to 1 to reset the eSDHC. The eSDHC should reset this bit to 0 when the capabilities registers are valid
and the host driver can read them. Additional use of software reset for all does not affect the value of the
capabilities registers. After this bit is set, it is recommended that the host driver reset the external card
and re-initialize it.
NOTE: The Software Reset For All in the System Control register clears Card Insertion and Card
Removal bits in Interrupt Status Register. Software should issue partial reset(Reset for
Command and Reset for Data) instead of Reset for All, if it wants to reset eSDHC without
clearing these Interrupt Status Register bits.
This bit will be self cleared by eSDHC when Software Reset for All is complete, so Software
should poll for it to be cleared after setting it.
0b - No reset
1b - Reset
8-11 Reserved.
Table continues on the next page...
Field Function
—
12-15 Data timeout counter value
DTOCV Data timeout counter value. This value determines the interval by which DAT line timeouts are detected.
Refer to the data timeout error bit in the Interrupt status enable register (IRQSTATEN) for information on
factors that dictate time-out generation. Time-out clock frequency will be generated by dividing the
SDCLK value by this value.
The host driver can clear IRQSTATEN[DTOESEN] to prevent inadvertent time-out events.
0000b - SDCLK x 2 13
0001b - SDCLK x 2 14
1110b - SDCLK x 2 27
1111b - Reserved
16-23 SDCLK frequency select. This register is used to select the frequency of the SDCLK pin. The frequency is
not programmed directly, rather this register holds the prescaler (this register) and divisor (next register)
SDCLKFS
of the base clock frequency register.
Base clock can be selected by programming ESDHCCTL[PCS]. It selects between platform clock and
peripheral clock / 2 .
Setting 0x00 bypasses the frequency prescaler of the SD clock. Multiple bits must not be set, or the
behavior of this prescaler is undefined. The two default divider values can be calculated by the frequency
of the base clock and the following divisor bits.
The frequency of SDCLK is set by the following formula: Clock Frequency = (Base Clock) / (prescaler x
divisor)
For example, if the base clock frequency is 96 MHz and the target frequency is 25 MHz, then choosing
the prescaler value of 0x01 and divisor value of 0x1 will yield 24 MHz, which is the nearest frequency less
than or equal to the target. Similarly, to approach a clock value of 400 KHz, the prescaler value of 0x08
and divisor value of 0xE yields the exact clock value of 400 KHz.
The reset value of this bit field is 0x80, so if the input base clock is about 96 MHz, the default SD clock
after reset is 375 KHz.
The programmed SD Clock frequency shall never exceed maximum SD clock supported by the card.
NOTE: Both DVS and SDCLKFS fields should not be programmed 0 simultaneously.
Only the following settings are allowed:
00000000b - Base clock
00000001b - Base clock divided by 2
00000010b - Base clock divided by 4
00000100b - Base clock divided by 8
00001000b - Base clock divided by 16
00010000b - Base clock divided by 32
00100000b - Base clock divided by 64
01000000b - Base clock divided by 128
10000000b - Base clock divided by 256
24-27 Divisor. This register is used to provide a more exact divisor to generate the desired SD clock frequency.
DVS Note the divider can even support odd divisor without deterioration of duty cycle. The settings are as
following:
0000b - Divisor by 1
0001b - Divisor by 2 ...
1110b - Divisor by 15
1111b - Divisor by 16
Field Function
28 SD clock enable. the host controller should stop SDCLK when writing this bit to 0. SDCLK frequency can
be changed when this bit is 0. Then, the host controller should maintain the same clock frequency until
SDCLKEN
SDCLK is stopped (stop at SDCLK=0). If PRSSTAT[CINS] is cleared, this bit should be cleared by the
host driver to save power.
29-31 Reserved.
—
22.3.14.1 Offset
Register Offset
SYSCTL_ESDHCCTL_ 2Ch
CRS_1
22.3.14.2 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
Reserved
DTOCV
INITA
RST
RST
RST
W
D
Reset 0 0 0 0 u u u u 0 0 0 0 u u u u
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
SDCLKEN
USDCLKF
Reserved
Reserved
SDCLKF
CG
W
S
S
Reset u u u u u u u u u u u 0 u 0 0 0
22.3.14.3 Fields
Field Function
0-3 Reserved.
Table continues on the next page...
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
1050 NXP Semiconductors
Chapter 22 Enhanced Secured Digital Host Controller
Field Function
—
4 Initialization active. When this bit is set, 80 SD clocks are sent to the card. After the 80 clocks are sent,
this bit is self cleared. This bit is very useful during the card power-up period when 74 SD-Clocks are
INITA
needed. Writing 1 to this bit when this bit is already 1 has no effect. Writing 0 to this bit at any time has no
effect. When either PRSSTAT[CIHB] or PRSSTAT[CDIHB] are set, writing 1 to this bit is ignored (that is,
when command line or data lines are active, write to this bit is not allowed). On the other hand, when this
bit is set, that is, during intialization active period, it is allowed to issue command, and the command bit
stream will appear on the CMD pad after all 80 clock cycles are done. So when this command ends, the
driver can make sure the 80 clock cycles are sent out. This is very useful when the driver needs send 80
cycles to the card and does not want to wait till this bit is self cleared.
5 Software reset for DAT line. Only part of the data circuit is reset. DMA circuit is also reset.
RSTD The following registers and bits are cleared by this bit:
• Data port register
• Buffer is cleared and initialized
• Present state register (PRSSTAT)
• Buffer read enable
• Buffer write enable
• Read transfer active
• Write transfer active
• DAT line active
• Command inhibit (DAT)
• Protocol control register (PROCTL)
• Continue request
• Stop at block gap request
• Interrupt status register (IRQSTAT)
• Buffer read ready
• Buffer write ready
• DMA interrupt
• Block gap event
• Transfer complete
NOTE: This bit will be self cleared by eSDHC when Software Reset for Data is complete, so Software
should poll for it to be cleared after setting it.
0b - No reset
1b - Reset
6 Software reset for CMD line. Only part of the command circuit is reset.
RSTC The following registers and bits are cleared by this bit:
• PRSSTAT[CIHB]
• IRQSTAT[CC]
NOTE: This bit will be self cleared by eSDHC when Software Reset for Command is complete, so
software should poll for it to be cleared after setting it.
0b - No reset
1b - Reset
7 Software reset for all. This reset effects the entire host controller except for the card detection circuit.
Register bits of type R, RW, RW1C are cleared. During its initialization, the host driver should set this bit
RSTA
to 1 to reset the eSDHC. The eSDHC should reset this bit to 0 when the capabilities registers are valid
and the host driver can read them. Additional use of software reset for all does not affect the value of the
capabilities registers. After this bit is set, it is recommended that the host driver reset the external card
and re-initialize it.
Table continues on the next page...
Field Function
NOTE: The software reset for all in the system control register clears card insertion and card removal
bits in interrupt status register. Software should issue partial reset (reset for command and reset
for data) instead of reset for all, if it wants to reset eSDHC without clearing these interrupt status
register bits.
This bit will be self cleared by eSDHC when software reset for all is complete, so software
should poll for it to be cleared after setting it.
0b - No reset
1b - Reset
8-11 Reserved.
—
12-15 Data timeout counter value
DTOCV Data timeout counter value. This value determines the interval by which DAT line timeouts are detected.
Refer to the data timeout error bit in the Interrupt status enable register (IRQSTATEN) for information on
factors that dictate time-out generation. Time-out clock frequency will be generated by dividing the
SDCLK value by this value.
The host driver can clear IRQSTATEN[DTOESEN] to prevent inadvertent time-out events.
0000b - SDCLK x 2 13
0001b - SDCLK x 2 14
1110b - SDCLK x 2 27
1111b - Reserved
16-23 SDCLK Frequency Select:
SDCLKFS This register is used to select the frequency of the SDCLK pin. 10-bit divisor value is formed by
concatenating USDCLKFS(2-bit) and SDCLKFS(8-bit), that is, Divisor = {USDCLKFS[0:1],
SDCLKFS[0:7]}
Following Divisor definition is selected depending on Clock Generation Select value:
10-bit Divided Clock Mode
0x3FF Base clock divided by 2048
0x04 Base clock divided by 8
0x03 Base clock divided by 6
0x02 Base clock divided by 4
0x01 Base clock divided by 2
0x00 Reserved
10-bit Programmable Clock Mode
0x3FF Base clock divided by 1024
0x04 Base clock divided by 5
0x03 Base clock divided by 4
0x02 Base clock divided by 3
0x01 Base clock divided by 2
0x00 Reserved
The frequency of SDCLK is set by the following formula: Clock Frequency = (Base Clock) / (divisor)
24-25 Upper bits of SDCLK frequency select. This field is used to expand SDCLKFS to 10 bits. These two bits
occupies most significant portion of 10-bit SDCLKFS.
USDCLKFS
26 Clock Generator Select. This field selects 10-bit SDCLKFS clock mode.
0b - Divided clock mode is selected
Table continues on the next page...
Field Function
CGS 1b - Programmable clock mode is selected
27 Reserved.
—
28 SD clock enable. The host controller shall stop SDCLK when writing this bit to 0. SDCLK frequency can
be changed when this bit is 0. Then, the host controller shall maintain the same clock frequency until
SDCLKEN
SDCLK is stopped (Stop at SDCLK=0). If the card inserted in the present state register is cleared, this bit
should be cleared by the host driver to save power.
29-31 Reserved.
—
22.3.15.1 Offset
Register Offset
IRQSTAT 30h
22.3.15.2 Function
An interrupt is generated when the normal interrupt signal enable is enabled and at least
one of the status bits is set to 1. For most bits, writing 1 to a bit clears it; writing to 0
keeps the bit unchanged. More than one status can be cleared with a single register write.
For card interrupt, before writing 1 to clear, it is required that the card stops asserting the
interrupt, meaning that when the card driver services the interrupt condition, otherwise
the CINT bit will be asserted again
Table 22-5. eSDHC Status for Command Timeout Error/Command Complete Bit
Combinations
Command Complete Command Timeout Error Meaning of the Status
0 0 X
X 1 Response not received within 64 SDCLK cycles
1 0 Response received
Table 22-6. eSDHC Status for Data Timeout Error/Transfer Complete Bit Combinations
Transfer Complete Data Timeout Error Meaning of the Status
0 0 X
0 1 Timeout occurred during transfer
1 X Data Transfer Complete
Table 22-7. eSDHC Status for Command CRC Error/Command Timeout Error Bit
Combinations
Command CRC Error Command Timeout Error Meaning of the Status
0 0 No error
0 1 Response Timeout Error
1 0 Response CRC Error
1 1 CMD line conflict
22.3.15.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
W1C ADMAE
W1C AC12E
RTOE
DMAE
DTOE
CTOE
DCE
CCE
TNE
DEB
CEB
R
Reserved
Reserved
Reserved
CI
E
E
E
W1C
W1C
W1C
W1C
W1C
W1C
W1C
W1C
W1C
W1C
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
W1C CINS
W1C BWR
CINT
W1C CRM
W1C DINT
CC
R
TC
BG
RT
BR
Reserved
Reserved
E
E
W1C
W1C
W1C
W1C
W1C
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.15.4 Fields
Field Function
0-1 Reserved.
—
2 Register access timeout error. This bit indicate that register access has timed-out.
0b - No timeout error
Table continues on the next page...
Field Function
RTOE 1b - Timeout error
3 DMA error
DMAE DMA error. This bit indicates that DMA (SDMA or ADMA) transfer has failed.
0b - No error
1b - Error
4 Reserved.
—
5 Tuning Error. This bit is set when an unrecoverable error is detected in a tuning circuit except during
tuning procedure (Occurrence of an error during tuning procedure is indicated by Sampling Clock Select).
TNE
By detecting Tuning Error, Host Driver needs to abort a command executing and perform tuning. The
Tuning Error is higher priority than the other error interrupts generated during data transfer. By detecting
Tuning Error, the Host Driver should discard data transferred by a current read/write command and retry
data transfer after the Host Controller retrieved from tuning circuit error. This bit might not be set in some
cases, but SD command or Data error might be set; Driver should consider it as tuning circuit error and
perform tuning procedure.
0b - No error
1b - Error
6 ADMA error. This bit is set when the host controller detects errors during ADMA operation. The state of
the ADMA at an error occurrence is saved in the ADMA error status register.
ADMAE
0b - No error
1b - Error
7 Auto CMD12 error. Occurs when detecting that one of the bits in the Auto CMD12 error status register
(AUTOC12ERR) has changed from 0 to 1. This bit is set to 1, not only when the errors in Auto CMD12
AC12E
occur, but also when the Auto CMD12 is not executed due to the previous command error.
0b - No error
1b - Error
8 Reserved.
—
9 Data end bit error. Occurs either when detecting 0 at the end bit position of read data, which uses the
DAT line, or at the end bit position of the CRC.
DEBE
0b - No error
1b - Error
10 Data CRC error. Occurs when detecting a CRC error when transferring read data, which uses the DAT
line, or when detecting the write CRC status having a value other than 010.
DCE
0b - No error
1b - Error
11 Data timeout error. Occurs when detecting one of following time-out conditions.
DTOE • Busy time-out for R1b, R5b type
• Busy time-out after write CRC status
• Write CRC status time-out
• Read data time-out
0b - No error
1b - Time out
12 Command index error. Occurs if a command index error occurs in the command response.
CIE 0b - No error
1b - Error
13 Command end bit error. Occurs when detecting that the end bit of a command response is 0.
Table continues on the next page...
Field Function
CEBE 0b - No error
1b - End bit error generated
14 Command CRC error. A command crc error is generated in two cases:
CCE • If a response is returned and the command timeout error is set to 0 (indicating no time-out), this bit
is set when detecting a CRC error in the command response.
• The eSDHC detects a CMD line conflict by monitoring the CMD line when a command is issued. If
the eSDHC drives the CMD line to 1, but detects 0 on the CMD line at the next SDCLK edge, then
the eSDHC should abort the command (stop driving CMD line) and set this bit to 1. The command
timeout error should also be set to 1 to distinguish CMD line conflict.
0b - No error
1b - CRC error generated
15 Command timeout error
CTOE Command timeout error. Occurs only if no response is returned within 64 SDCLK cycles from the end bit
of the command. If the eSDHC detects a CMD line conflict, in which case a command CRC error should
also be set (as shown in ), this bit should be set without waiting for 64 SDCLK cycles. This is because the
command will be aborted by the eSDHC.
0b - No error
1b - Time out
16-18 Reserved.
—
19 Re-tuning event. This status is set if re-tuning request in the eSDHC control register changes from 0 to 1.
eSDHC requests host driver to perform re-tuning for next data transfer. Current data transfer (not large
RTE
block count) can be completed without re-tuning.
0b - Re-tuning is not required
1b - Re-tuning should be performed
20-22 Reserved.
—
23 Card interrupt. Writing this bit to 1 does not clear this bit. It is cleared by resetting the SD card interrupt
factor. In 1-bit mode, the host controller should detect the card interrupt without SD clock to support
CINT
wakeup. In 4-bit mode, the card interrupt signal is sampled during the interrupt cycle, so there are some
sample delays between the interrupt signal from the SD card and the interrupt to the host system. It is
necessary to define how to handle this delay.
When this status has been set and the host driver needs to start this interrupt service,
IRQSTATEN[CINTSEN] should be set to 0 in order to clear the card interrupt statuses latched in the
eSDHC and to stop driving the interrupt signal to the host system. After completion of the card interrupt
service (It should reset interrupt factors in the SD card and the interrupt signal may not be asserted), set
the card interrupt status enable bit to 1 and start sampling the interrupt signal again.
0b - No card interrupt
1b - Generate card interrupt
24 Card removal. This status is set if the PRSSTAT[CINS] changes from 1 to 0.
CRM When the host driver writes this bit to 1 to clear this status, the status of the PRSSTAT[CINS] should be
confirmed. Because the card detect state may possibly be changed when the host driver clear this bit and
interrupt event may not be generated.
NOTE: The Software Reset For All in the System Control register clears this bit. Software should issue
partial reset(Reset for Command and Reset for Data) instead of Reset for All, if it wants to reset
eSDHC without clearing this bit.
eSDHC does not implement de-bouncing circuit on card detect pin, so Software should check
Card Inserted in Present State register to confirm card insertion/removal status.
0b - Card state unstable or inserted
Table continues on the next page...
Field Function
1b - Card removed
25 Card insertion. This status is set if PRSSTAT[CINS] changes from 0 to 1.
CINS When the host driver writes this bit to 1 to clear this status, the status of the PRSSTAT[CINS] should be
confirmed. Because the card detect state may possibly be changed when the host driver clear this bit and
interrupt event may not be generated.
NOTE: The Software Reset For All in the System Control register clears this bit. Software should issue
partial reset(Reset for Command and Reset for Data) instead of Reset for All, if it wants to reset
eSDHC without clearing this bit.
eSDHC does not implement de-bouncing circuit on card detect pin, so Software should check
Card Inserted in Present State register to confirm card insertion/removal status.
0b - Card state unstable or removed
1b - Card inserted
26 Buffer read ready
BRR Buffer read ready. This status bit is set if PRSSTAT[BREN] changes from 0 to 1. Refer to the description
of the buffer read enable bit in Present state register (PRSSTAT) for additional information.
0b - Not ready to read buffer
1b - Ready to read buffer
27 Buffer write ready
BWR Buffer write ready. This status bit is set if the PRSSTAT[BWEN] changes from 0 to 1. Refer to the
description of the buffer write enable bit in Present state register (PRSSTAT) for additional information.
0b - Not ready to write buffer
1b - Ready to write buffer
28 DMA interrupt
DINT DMA interrupt. Occurs only when the DMA finishes the data transfer successfully. Whenever errors occur
during data transfer, this bit will not be set. Instead, the DMAE bit will be set. Either single DMA or ADMA
finishes data transferring, this bit will be set.
0b - No DMA Interrupt
1b - DMA Interrupt is generated
29 Block gap event. If PROCTL[SABGREQ] is set, this bit is set when a read or write transaction is stopped
at a block gap. If PROCTL[SABGREQ] is not set to 1, this bit is not set to 1.
BGE
• In the case of a read transaction, this bit is set at the falling edge of the DAT Line active status
(when the transaction is stopped at SD bus timing). The read wait must be supported in order to
use this function.
• In the case of a write transaction, this bit is set at the falling edge of write transfer active status
(after getting CRC status at SD Bus timing).
22.3.16.1 Offset
Register Offset
IRQSTATEN 34h
22.3.16.2 Function
Setting the bits to 1 in the IRQSTATEN enables the corresponding interrupt status to be
set by the specified event. If any bit is cleared, the corresponding interrupt status bit is
also cleared (that is, when the bit in this register is cleared, the corresponding bit in
interrupt status register, IRQSTAT, is always 0).
NOTE
• Depending on how PROCTL[IABG] is set, eSDHC may be
programmed to sample the card interrupt signal during the
interrupt period and hold its value in the flip-flop. There
will be some delays on the card interrupt, asserted from the
card, to the time the host system is informed.
• To detect a CMD line conflict, the host driver must set both
IRSTAT[CTOESEN] and IRSTAT[CCESEN] to 1.
22.3.16.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ADMAESEN
AC12ESEN
DMAESEN
Reserved
Reserved
Reserved
DEBESE
CEBESE
RTOESE
DTOESE
CTOESE
DCESE
CCESE
TNESE
CIESE
W
N
N
N
N
N
N
Reset 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
CINTSEN
CRMSEN
DINTSEN
CINSEN
Reserved
Reserved
BWRSE
BRRSE
BGESE
RTESE
CCSE
TCSE
W
N
N
N
N
N
Reset 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1
22.3.16.4 Fields
Field Function
0-1 Reserved.
—
2 Register access timeout status enable
0b - Masked
RTOESEN
1b - Enabled
3 DMA error status enable.
DMAESEN 0b - Masked
1b - Enabled
4 Reserved.
—
5 Tuning error status enable
0b - Masked
TNESEN
1b - Enabled
6 ADMA error status enable.
ADMAESEN 0b - Masked
1b - Enabled
7 Auto CMD12 error status enable.
AC12ESEN 0b - Masked
1b - Enabled
8 Reserved.
—
9 Data end bit error status enable.
DEBESEN 0b - Masked
1b - Enabled
10 Data CRC error status enable.
DCESEN 0b - Masked
1b - Enabled
11 Data timeout error status enable.
DTOESEN 0b - Masked
1b - Enabled
12 Command index error status enable.
CIESEN 0b - Masked
1b - Enabled
13 Command end bit error status enable.
CEBESEN 0b - Masked
1b - Enabled
14 Command CRC error status enable.
CCESEN 0b - Masked
1b - Enabled
Field Function
15 Command timeout error status enable.
CTOESEN 0b - Masked
1b - Enabled
16-18 Reserved.
—
19 Re-tuning event status enable.
0b - Masked
RTESEN
1b - Enabled
20-22 Reserved.
—
23 Card interrupt status enable. If this bit is set to 0, the eSDHC will clear the interrupt request to the system.
The card interrupt detection is stopped when this bit is cleared and restarted when this bit is set to 1. The
CINTSEN
host driver should clear the card interrupt status enable before servicing the card interrupt and should set
this bit again after all interrupt requests from the card are cleared to prevent inadvertent interrupts.
0b - Masked
1b - Enabled
24 Card removal status enable.
CRMSEN 0b - Masked
1b - Enabled
25 Card insertion status enable.
CINSEN 0b - Masked
1b - Enabled
26 Buffer read ready status enable.
BRRSEN 0b - Masked
1b - Enabled
27 Buffer write ready status enable.
BWRSEN 0b - Masked
1b - Enabled
28 DMA interrupt status enable.
DINTSEN 0b - Masked
1b - Enabled
29 Block gap event status enable.
BGESEN 0b - Masked
1b - Enabled
30 Transfer complete status enable.
TCSEN 0b - Masked
1b - Enabled
31 Command complete status enable.
CCSEN 0b - Masked
1b - Enabled
22.3.17.1 Offset
Register Offset
IRQSIGEN 38h
22.3.17.2 Function
The IRQSIGEN is used to select which interrupt status is indicated to the host system as
the interrupt. These status bits all share the same interrupt line. Setting any of these bits to
1 enables interrupt generation. The corresponding status register bit will generate an
interrupt when the corresponding interrupt signal enable bit is set.
22.3.17.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ADMAEIEN
AC12EIEN
DMAEIEN
DTOEIEN
CTOEIEN
DCEIEN
CCEIEN
Reserved
Reserved
Reserved
DEBEIE
CEBEIE
RTOEIE
TNEIE
CIEIE
W
N
N
N
N
Reset 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
CINSIEN
BWRIEN
CINTIEN
CRMIEN
DINTIEN
Reserved
Reserved
CCIEN
TCIEN
BRRIE
BGEIE
RTEIE
W
N
Reset 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
22.3.17.4 Fields
Field Function
0-1 Reserved.
—
2 Register timeout error interrupt enable
0b - Masked
Table continues on the next page...
Field Function
RTOEIEN 1b - Enable
3 DMA error interrupt enable.
DMAEIEN 0b - Masked
1b - Enabled
4 Reserved.
—
5 Tuning error interrupt enable
0b - Masked
TNEIEN
1b - Enable
6 ADMA Error Interrupt Enable.
ADMAEIEN
7 Auto CMD12 error interrupt enable.
AC12EIEN 0b - Masked
1b - Enabled
8 Reserved.
—
9 Data end bit error interrupt enable.
DEBEIEN 0b - Masked
1b - Enabled
10 Data CRC error interrupt enable.
DCEIEN 0b - Masked
1b - Enabled
11 Data timeout error interrupt enable.
DTOEIEN 0b - Masked
1b - Enabled
12 Command index error interrupt enable.
CIEIEN 0b - Masked
1b - Enabled
13 Command end bit error interrupt enable.
CEBEIEN 0b - Masked
1b - Enabled
14 Command CRC error interrupt enable.
CCEIEN 0b - Masked
1b - Enabled
15 Command timeout error interrupt enable.
CTOEIEN 0b - Masked
1b - Enabled
16-18 Reserved.
—
19 Re-tuning event interrupt enable
0b - Masked
RTEIEN
1b - Enabled
20-22 Reserved.
—
Field Function
23 Card interrupt interrupt enable.
CINTIEN 0b - Masked
1b - Enabled
24 Card removal interrupt enable.
CRMIEN 0b - Masked
1b - Enabled
25 Card insertion interrupt enable.
CINSIEN 0b - Masked
1b - Enabled
26 Buffer read ready interrupt enable.
BRRIEN 0b - Masked
1b - Enabled
27 Buffer write ready interrupt enable.
BWRIEN 0b - Masked
1b - Enabled
28 DMA interrupt enable.
DINTIEN 0b - Masked
1b - Enabled
29 Block gap event interrupt enable.
BGEIEN 0b - Masked
1b - Enabled
30 Transfer complete interrupt enable.
TCIEN 0b - Masked
1b - Enabled
31 Command complete interrupt enable.
CCIEN 0b - Masked
1b - Enabled
22.3.18.1 Offset
Register Offset
AUTOCERR_SYSCTL2 3Ch
22.3.18.2 Function
When the Auto CMD12 error status bit in the AUTOC12ERR is set, the host driver
checks this register to identify the kind of error indicated by the Auto CMD12. This
register is valid only when the auto CMD12 error status bit is set.
Table 22-8. Relationship Between Command CRC Error and Command Timeout Error for
Auto CMD12
Auto CMD12 CRC Error Auto CMD12 Timeout Error Type of Error
0 0 No Error
0 1 Response Timeout Error
1 0 Response CRC Error
1 1 CMD line conflict
Changes in Auto CMD12 error status register (AUTOC12ERR) can be classified in three
scenarios:
1. When the eSDHC is going to issue an Auto CMD12
• Set bit 0 to 1 if the Auto CMD12 cannot be issued due to an error in the previous
command
• Set bit 0 to 0 if the Auto CMD12 is issued
2. At the end bit of an Auto CMD12 response
• Check errors correspond to bits 1-4
• Set bits 1-4 corresponding to detected errors
• Clear bits 1-4 corresponding to detected errors
3. Before reading the Auto CMD12 error status bit 7
• Set bit 7 to 1 if there is a command that cannot be issued
• Clear bit 7 if there is no command to issue
The timing for generating the Auto CMD12 error and writing to the command register are
asynchronous. After that, bit 7 should be sampled when the driver is not writing to the
command register. So it is suggested to read this register only when IRQSTAT[AC12E]
is set. An Auto CMD12 error interrupt is generated when one of the error bits (0-4) is set
to 1. The command not issued by Auto CMD12 Error does not generate an interrupt.
22.3.18.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SMPCLKSE
Reserved
Reserved
Reserved
UHSM
AIE
EXT
W
N
L
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
CNIBAC12E
AC12EBE
AC12TOE
AC12CE
AC12NE
AC12IE
Reserved
Reserved
R
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.18.4 Fields
Field Function
0 Reserved.
—
1 Asynchronous Interrupt Enable. This bit can be set to 1 if a card supports asynchronous interrupts and
asynchronous interrupt support is set to 1 in capability register. If this bit is set to 1, host driver can stop
AIE
SDCLK during asynchronous inrrupt period to save power. During this period, eSDHC continues to
deliver the card interrupt to the system when it is assrted by card.
0b - Disabled
1b - Enabled
2-7 Reserved.
—
8 Sampling clock select. This bit is set by eSDHC during tuning procedure and valid after the completion of
tuning (when execute tuning is cleared). Setting 1 by eSDHC means that tuning is completed successfully
SMPCLKSEL
and setting 0 means that tuning is failed. Host driver should not write to this bit. Change of this bit is not
allowed while eSDHC is receiving response or a read data block.
0b - Tuning procedure unsuccessful
1b - Tuning procedure completed successfully
9 Execute Tuning. This bit is set to 1 by host driver to start tuning procedure and automatically cleared by
eSDHC when tuning procedure is completed. The result of tuning is indicated to sampling clock select
EXTN
field. Tuning procedure is aborted by writing 0.
0b - Not tuned or tuning not compelted
1b - Execute tuning
10-12 Reserved.
—
Field Function
13-15 UHS mode select
UHSM UHS mode select. This field is used to select one of UHS-1 modes for SD 3.0 card; and select HS200or
DDR mode for MMC card.
Host driver should reset SDCLKEN in system control register before changing this field, and then set
SDCLKEN again.
000b - SDR12 for SD, or max 52 MHz mode for SD 2.0 / MMC 4.2 or older spec
001b - SDR25 for SD
010b - SDR50 for SD
011b - SDR104 for SD, HS200 for MMC
100b - DDR
101b - Rest all the fields are reserved
16-23 Reserved.
—
24 Command not issued by Auto CMD12 error. Setting this bit to 1 means CMD_wo_DAT is not executed
due to an Auto CMD12 error (D04-D01) in this register.
CNIBAC12E
0b - No error
1b - Not Issued
25-26 Reserved.
—
27 Auto CMD index error. Occurs if the command index error occurs in response to a command.
AC12IE 0b - No error
1b - Error, the CMD index in response is not CMD12
28 Auto CMD end bit error. Occurs when detecting that the end bit of command response is 0 which should
be 1.
AC12EBE
0b - No error
1b - End bit error generated
29 Auto CMD CRC error. Occurs when detecting a CRC error in the command response.
AC12CE 0b - No CRC error
1b - CRC error met in Auto CMD12 response
30 Auto CMD timeout error. Occurs if no response is returned within 64 SDCLK cycles from the end bit of
the command. If this bit is set to1, the other error status bits (2-4) have no meaning.
AC12TOE
0b - No error
1b - Time out
31 Auto CMD12 not executed. If memory multiple block data transfer is not started, due to a command error,
this bit is not set because it is not necessary to issue an Auto CMD12. Setting this bit to 1 means the
AC12NE
eSDHC cannot issue the Auto CMD12 to stop a memory multiple block data transfer due to some error. If
this bit is set to 1, other error status bits (1-4) have no meaning.
This bit is set to 0 when Auto CMD Error is generated by Auto CMD23.
0b - Executed
1b - Not executed
22.3.19.1 Offset
Register Offset
HOSTCAPBLT 40h
22.3.19.2 Function
The HOSTCAPBLT provides the host driver with information specific to the eSDHC
implementation. The value in this register is the power-on-reset value, and does not
change with a software reset. Any write to this register is ignored.
22.3.19.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
ADMAS
DMAS
SBS64
VS18
VS30
VS33
Reserved
Reserved
Reserved
MBL
AIS
R
SR
HS
S
S
B
W
Reset u u 1 1 u 1 u u 1 1 1 1 u 0 1 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
W
Reset u u u u u u u u u u u u u u u u
22.3.19.4 Fields
Field Function
0-1 Reserved.
—
2 Asynchronous Interrupt Support. This bit indicates whether the eSDHC supports SDIO asynchronous
interrupt. Refer to SDIO Specification Version 3.0
AIS
0b - Asynchronous interrupt not supported
1b - Asynchronous interrupt supported
3 64-bit system bus support. This bit indicates that system supports 64-bit address descriptor mode and is
connected to 64-bit adress system bus.
SBS64B
0b - 64-bit system bus not supported
1b - 64-bit system bus supported
Field Function
4 Reserved.
—
5 Voltage support 1.8V. This bit should depend on the host system ability.
VS18 0b - 1.8V not supported
1b - 1.8V supported
6 Voltage Support 3.0V. This bit shall depend on the Host System ability.
VS30 0b - 3.0V not supported
1b - 3.0V supported
7 Voltage support 3.3V. This bit should depend on the host system ability.
VS33 0b - 3.3V not supported
1b - 3.3V supported
8 Suspend/resume support. This bit indicates whether the eSDHC supports suspend/resume functionality.
If this bit is 0, the suspend and resume mechanism, as well as the read wait, are not supported, and the
SRS
host driver should not issue either suspend or resume commands.
0b - Not supported
1b - Supported
9 DMA support. This bit indicates whether the eSDHC is capable of using the DMA to transfer data
between system memory and the data buffer directly.
DMAS
0b - DMA not supported
1b - DMA supported
10 High speed support. This bit indicates whether the eSDHC supports high speed mode and the host
system can supply a SD clock frequency from 25-50 MHz.
HSS
0b - High speed not supported
1b - High speed supported
11 ADMA support. This bit indicates whether the eSDHC supports the ADMA feature.
ADMAS 0b - Advanced DMA not supported
1b - Advanced DMA supported
12 Reserved.
—
13-15 Maximum block length. This value indicates the maximum block size that the host driver can read and
write to the buffer in the eSDHC. The buffer should transfer block size without wait cycles.
MBL
000b - 512 bytes
001b - 1024 bytes
010b - 2048 bytes
011-111b - Reserved
16-31 Reserved.
—
22.3.20.1 Offset
Register Offset
WML 44h
22.3.20.2 Function
Both write and read watermark levels (FIFO threshold) are configurable in the WML.
They can range from 1- 128 words. Both write and read burst lengths are also
configurable. They can range from 1- 16 beats.
22.3.20.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
WR_BRST_LE
WR_WML
Reserved
Reserved
W
N
Reset 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
RD_BRST_LE
RD_WML
Reserved
Reserved
W
N
Reset 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
22.3.20.4 Fields
Field Function
0-3 Reserved.
—
4-7 Max write burst length. Burst length desirable for write on system bus when DMA is used. This is the
maximum burst length, actual burst length may be less than this depending on other factors, such as
WR_BRST_LEN
block boundary
Table continues on the next page...
Field Function
0000b - 16 transfers in a single burst
0001b - 1 transfer in a single burst
0010b - 2 transfers in a single burst
1111b - 15 transfers in a single burst
8 Reserved.
—
9-15 Write watermark level. The number of words (32-bit) used as the watermark level (FIFO threshold) for SD
write in CPU polling mode.
WR_WML
0000000b - 128 words
0000001b - 1 word
0000010b - 2 words
1111111b - 127 words
16-19 Reserved.
—
20-23Max read burst length. Burst length desirable for read on system bus when DMA is used. This is the
maximum burst length, actual burst length may be less than this depending on other factors, such as
RD_BRST_LEN
block boundary
0000b - 16 transfers in a single burst
0001b - 1 transfers in a single burst
0010b - 2 transfers in a single burst
1111b - 15 transfers in a single burst
24 Reserved.
—
25-31 Read watermark level. The number of words (32-bit) used as the watermark level (FIFO threshold) for SD
read in CPU polling mode.
RD_WML
0000000b - 128 words
0000001b - 1 word
0000010b - 2 words
1111111b - 127 words
22.3.21.1 Offset
Register Offset
FEVT 50h
22.3.21.2 Function
The FEVT is not a physically implemented register. Rather, it is an address at which the
interrupt status register (IRQSTAT) can be written if the corresponding bit of the
interrupt status enable register (IRQSTATEN) is set. This register is a write only register
and writing 0 to it has no effect. Writing 1 to this register actually sets the corresponding
bit of interrupt status register (IRQSTAT). A read from this register always results in
zeros.
22.3.21.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R FEVTADMAE
FEVTAC12E
Reserved
Reserved
Reserved
FEVTDMAE
FEVTDTOE
FEVTCTOE
FEVTDEB
FEVTCEB
FEVTDC
FEVTCC
FEVTCI
W
E
E
E
E
E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
FEVTCNIBAC12E
FEVTAC12EBE
FEVTAC12TOE
FEVTAC12CE
FEVTAC12NE
FEVTAC12IE
Reserved
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.21.4 Fields
Field Function
0-2 Reserved.
—
3 Force event DMA error. Forces the IRQSTAT[DMAE] to be set.
FEVTDMAE
4-5 Reserved.
—
6 Force event ADMA error. Forces the IRQSTAT[ADMAE] to be set.
Table continues on the next page...
Field Function
FEVTADMAE
7 Force event Auto CMD12 error. Forces IRQSTAT[AC12E] to be set.
FEVTAC12E
8 Reserved.
—
9 Force event data end bit error. Forces IRQSTAT[DEBE] to be set.
FEVTDEBE
10 Force event data CRC error. Forces IRQSTAT[DCE] to be set.
FEVTDCE
11 Force event data time out error. Forces IRQSTAT[DTOE] to be set.
FEVTDTOE
12 Force event command index error. Forces the IRQSTAT[CCE] to be set.
FEVTCIE
13 Force event command end bit error. Forces IRQSTAT[CEBE] to be set.
FEVTCEBE
14 Force event command CRC error. Forces IRQSTAT[CCE] to be set.
FEVTCCE
15 Force event command time out error. Forces IRQSTAT[CTOE] to be set.
FEVTCTOE
16-23 Reserved.
—
24 Force event command not executed by Auto CMD12 error. Forces AUTOC12ERR[CNIBAC12E] to be
set.
FEVTCNIBAC12
E
25-26 Reserved.
—
27 Force event Auto CMD12 index error. Forces AUTOC12ERR[AC12IE] to be set.
FEVTAC12IE
28 Force event Auto CMD12 end bit error. Forces AUTOC12ERR[AC12EBE] to be set.
FEVTAC12EBE
29 Force event Auto CMD12 CRC error. Forces AUTOC12ERR[AC12CE] to be set.
FEVTAC12CE
30 Force event Auto CMD12 time out error. Forces the AUTOC12ERR[AC12TOE] to be set.
FEVTAC12TOE
31 Force event Auto CMD12 not executed. Forces AUTOC12ERR[AC12NE] to be set.
FEVTAC12NE
22.3.22.1 Offset
Register Offset
ADMAES 54h
22.3.22.2 Function
When an ADMA error interrupt occurs, the ADMA error states field in the ADMAES
holds the ADMA state and the ADMA system address register (ADSADDR) holds the
address around the error descriptor.
For recovering from this error, the host driver requires the ADMA state to identify the
error descriptor address as follows:
• ST_STOP: Previous location set in the ADMA system address register (ADSADDR)
is the error descriptor address
• ST_FDS: Current location set in the ADMA system address register (ADSADDR) is
the error descriptor address
• ST_CADR: This state is never set because it only increments the descriptor pointer
and does not generate an ADMA error
• ST_TFR: Previous location set in the ADMA system address register (ADSADDR)
is the error descriptor address
In case of a write operation, the host driver should use the ACMD22 to get the number of
the written block rather than using this information, since unwritten data may exist in the
host controller.
The Host controller generates the ADMA error interrupt when it detects invalid
descriptor data (valid=0) in the ST_FDS state. The host driver can distinguish this error
by reading the valid bit of the error descriptor.
Table 22-9. ADMA Error State Coding
D30-D31 ADMA Error State (When Error Has Contents of ADMA System Address Register
Occurred)
00 IDLE (idle) Current descriptor address on which ADMA error occured
01 FETCH_DESC (fetch descriptor) Current descriptor address on which ADMA error occured
10 DATA_XFER (data transfer) Current descriptor address on which ADMA error occured
11 WAIT_STOP (Wait for ADMA to stop) Current descriptor address on which ADMA error occured
22.3.22.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
ADMADCE
ADMALME
ADMAIBE
ADMAES
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.22.4 Fields
Field Function
0-26 Reserved.
—
27 ADMA internal bus error. This bit indicates that a system bus error occurred while ADMA transaction was
ADMAIBE underway. It is set when error response is received on the system bus.
0b - No error
1b - Error
28 ADMA descriptor error. This error occurs when invalid descriptor fetched by ADMA.
ADMADCE 0b - No error
1b - Error
29 ADMA length mismatch error. This error occurs in the following two cases:
ADMALME • While XFERTYP[BCEN] is being set, the total data length specified by the descriptor table is
different from that specified by the block count and block length
• Total data length can not be divided by the block length
0b - No error
1b - Error
30-31 ADMA error state (when ADMA error is occurred). This field indicates the state of the ADMA when an
error has occurred during an ADMA data transfer. Refer to the table above for more details.
ADMAES
22.3.23.1 Offset
Register Offset
ADSADDR 58h
22.3.23.2 Function
The ADSADDR contains the physical system memory address used for ADMA transfers.
22.3.23.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ADS_ADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ADS_ADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.23.4 Fields
Field Function
0-31 ADMA system address. This register holds 32-bit address of executing command of the descriptor table.
At the start of ADMA, the host driver should set start address of the descriptor table. The ADMA
ADS_ADDR
increments this register address, which points to next line, when every fetching a descriptor line. When
the ADMA error interrupt is generated, this register should hold valid descriptor address depending on the
ADMA state. The host driver should program descriptor table on 32-bit boundary and set 32-bit boundary
address to this register.
It can be accessed only when no transaction is executing (that is, after a transaction has stopped). The
host driver should initialize this register before starting an ADMA transaction.
22.3.24.1 Offset
Register Offset
HOSTVER FCh
22.3.24.2 Function
The HOSTVER contains the vendor host controller version information. All bits are read
only and will read the same as the power-reset value.
22.3.24.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R VVN SVN
W
Reset 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0
22.3.24.4 Fields
Field Function
0-15 Reserved.
—
16-23 Vendor version number. These status bits are reserved for the vendor version number. The host driver
should not use this status.
VVN
Patterns not shown are reserved.
00000000b - eSDHC Version 1.0
00010000b - eSDHC Version 2.0
00010001b - eSDHC Version 2.1
00010010b - eSDHC Version 2.2
00010011b - eSDHC Version 2.3
Table continues on the next page...
Field Function
00100000b - eSDHC Version 3.0
00100001b - eSDHC Version 3.1
00100010b - eSDHC Version 3.2
24-31 Specification version number. These status bits indicate the host controller specification version.
SVN Patterns not shown are reserved.
00000000b - SD Host Specification Version 1.0
00000001b - SD Host Specification Version 2.0, supports test event register , and ADMA
00000010b - SD Host Specification Version 3.0
22.3.25.1 Offset
Register Offset
DMAERRADDR 104h
22.3.25.2 Function
The DMAERRADDR contains the address of the transaction on which DMA error
occured.
22.3.25.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R DMA_ADDRn
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R DMA_ADDRn
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.25.4 Fields
Field Function
0-31 DMA error address. This field contains the system address of the transaction on which DMA error
occured.
DMA_ADDRn
22.3.26.1 Offset
Register Offset
DMAERRATTR 10Ch
22.3.26.2 Function
The DMAERRATTR contains attributes of the transaction on which DMA error occured.
22.3.26.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R DMA_SIZE DMA_LEN
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.26.4 Fields
Field Function
0-24 Reserved.
Table continues on the next page...
Field Function
—
25-27 System bus burst size. This field contains burst size of the transaction on which DMA error occured.
DMA_SIZE
28-31 System bus burst length. This field contains burst length of the transaction on which DMA error occured.
DMA_LEN
22.3.27.1 Offset
Register Offset
HOSTCAPBLT2 114h
22.3.27.2 Function
This register provides the host driver with information specific to the eSDHC
implementation. The value in this register is the power-on-reset value, and does not
change with a software reset. Any write to this register is ignored.
22.3.27.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
W
Reset u u u u u u u u u u u u u u u u
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
UTSDR50
SDR104
SDR50
DDR50
DTDS
DTCS
TCRT
DTAS
Reserved
Reserved
Reserved
RTM
W
Reset 1 0 1 u 1 1 1 1 u 0 0 0 u 1 1 1
22.3.27.4 Fields
Field Function
0-15 Reserved.
—
16-17 Re-tuning modes. This bit indicates the supported re-tuning modes for UHS.
00b - Mode 1 - Software Timer
RTM
01b - Mode 2 - Software Timer and Re-tuning request
10b - Mode 3 - Software Timer, and Auto Re-tuning during data transfer
11b - Reserved
18 Use tuning for SDR50. This bit indicates whether the host support tuning for SDR50 mode.
0b - Tuning for SDR50 mode not supported
UTSDR50
1b - Tuning for SDR50 mode supported
19 Reserved.
—
20-23 Timer Count for Re-Tuning :
TCRT This field indicates an initial value of Re-Tuning timer for retuning mode 1 to 3.
0000b - Re-Tuning timer disabled
0001b - 1 second
0010b - 2 seconds
0011b - 4 seconds ...
1011b - 1024 seconds
1100-1110b - Reserved
1111b - Get timer information from other source.
24 Reserved.
—
25 Driver type D support. This bit indicates whether the system is capable of using driver type D.
0b - Driver Type D not supported
DTDS
1b - Driver Type D Supported
26 Driver type C support. This bit indicates whether the system is capable of using driver type C.
0b - Driver Type C not supported
DTCS
1b - Driver Type C Supported
27 Driver type A support. This bit indicates whether the system is capable of using driver type A.
0b - Driver Type A not supported
DTAS
1b - Driver Type A Supported
28 Reserved.
—
29 DDR50 support. This bit indicates whether the eSDHC supports the DDR mode.
0b - DDR mode not supported
DDR50
1b - DDR mode supported
30 SDR104 Support. This bit indicates whether the eSDHC supports the SDR104.
0b - SDR104 not supported
SDR104
1b - SDR104 supported
31 SDR50 support. This bit indicates whether the eSDHC supports the SDR50.
0b - SDR50 not supported
SDR50
1b - SDR50 supported
22.3.28.1 Offset
Register Offset
TBCTL 120h
22.3.28.2 Function
This register contains fields for controlling the tuning block.
NOTE
Writing or reading to reserved fields of this register does not
guarantee specific values will be written or read.
22.3.28.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
Reserved
Reserved
Reserved
Reserved
Reset u u u u u u u u u u u u u u u u
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
TB_MODE
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
TB_E
W
N
Reset u u u u u u u u u u u u u 0 1 0
22.3.28.4 Fields
Field Function
0 Reserved.
Table continues on the next page...
Field Function
—
1 Reserved.
—
2 Reserved.
—
3-7 Reserved.
—
8-15 Reserved.
—
16-17 Reserved.
—
18-19 Reserved.
—
20-23 Reserved.
—
24 Reserved.
—
25-26 Reserved.
—
27 Reserved.
—
28 Reserved.
—
29 Tuning block enabled. Tuning block should be enabled for high speed SDR mode more than 50 MHz SD
clock frequency.
TB_EN
This bit is not reset by software reset for all.
0b - Tuning block is disabled
1b - Tuning block is enabled
30-31 Tuning Mode
TB_MODE Tuning Mode. Selects tuning mode when tuning block is enabled. Refer to re-tuning modes in Table
22-10
00b - Mode 1 - Software Timer
01b - Mode 2 - Software Timer, and Re-tuning request
10b - Mode 3 - Software Timer, and Auto Re-tuning during data transfer
11b - SW tuning mode - Software tuning mode where start and end point of data window needs to
be programmed in TBPTR register and use software timer for re-tuning
22.3.29.1 Offset
Register Offset
TBSTAT 124h
22.3.29.2 Function
This register contains the status of the tuning block.
22.3.29.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
TB_STATUS
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
TB_STATUS
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.29.4 Fields
Field Function
0-31 Tuning Status.
TB_STATUS
22.3.30.1 Offset
Register Offset
TBPTR 128h
22.3.30.2 Function
This register contains fields for controlling tuning block pointers.
22.3.30.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
TB_WNDW_STRT_PTR
TB_WNDW_END_PTR
Reserved
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.30.4 Fields
Field Function
0-16 Reserved.
—
17-23 Tuning window start pointer. Selects window start pointer for software tuning mode (when
TBCTL[TB_MODE]=3).
TB_WNDW_ST
RT_PTR
24 Reserved.
—
25-31 Tuning window start pointer. Selects window end pointer for software tuning mode (when
TBCTL[TB_MODE]=3)
TB_WNDW_EN
D_PTR
22.3.31.1 Offset
Register Offset
SDDIRCTL 140h
22.3.31.2 Function
This register contains control for CMD and DAT lines direction.
22.3.31.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved DIR_CTL
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
22.3.31.4 Fields
Field Function
0-28 Reserved.
—
29-31 Direction control
DIR_CTL Specify the turnaround time required for external transceiver after the assertion of direction pins in
number of SD clocks
000b - No turnaround time required
001b - 1 SD clock period for turnaround
010b - 2 SD clock periods for turnaround ...
111b - 7 SD clock periods for turnaround
22.3.32.1 Offset
Register Offset
SDCLKCTL 144h
22.3.32.2 Function
This register contains fileds for controlling SD external and loopback clock.
22.3.32.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
LPBK_SD_CLK_DLY_DIR
LPBK_CLK_SEL
LPBK_CLK_DLY
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
CMD_CLK_CTL
Reserved
Reserved
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.32.4 Fields
Field Function
0 SD Loopback Clock Select. This field specifies whether SD clock is loopbacked from external pin or from
internal pad.
LPBK_CLK_SE
L 0b - SD card clock is loopbacked from internal pad
1b - SD card clock is loopbacked from external pin
1 SD Loopback Clock Delay Direction. This field specifies whether SD loopback card clock is delayed in
positive or negative direction.
LPBK_SD_CLK
_DLY_DIR 0b - SD card loopback clock is delayed by LPBK_CLK_DLY value
1b - SD card loopback clock is early by LPBK_CLK_DLY value
2-3 Reserved.
—
4-15 SD Loopback Clock Delay. This field specifies the number of periphal clocks (based on
ESDHCCTL[PCS]) by which SD loopback card clock is delayed.
LPBK_CLK_DL
Y 000000000000b - No delay in SD card clock
000000000001b - 1/2 peripheral clocks delay introduced in SD card clock
000000000010b - 2/2 peripheral clocks delay introduced in SD card clock ...
111111111111b - 4095/2 peripheral clocks delay introduced in SD card clock
16 Command Logic Clock Control. This field specifies controls clock to the command logic.
CMD_CLK_CTL 0b - Command logic clock is same as data logic clock
1b - Command logic clock is 25% shifted early from data logic clock
17 Reserved.
—
18-19 Reserved.
—
20-31 Reserved.
—
22.3.33.1 Offset
Register Offset
ESDHCCTL 40Ch
22.3.33.2 Function
This register contains fields for controlling DMA transfers.
22.3.33.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R RTR
Reserved RTOCV PCS FAF CRS
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
RD_PRFTCH_BLKCNT
WR_BUF
PAD_DIS
Reserved
Reserved
Reserved
SNOOP
RD_SAF
W
E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22.3.33.4 Fields
Field Function
0-9 Reserved.
—
10-11 Register timeout count value. This field define the timeout value for register access.
00b - Timeout count value for register access is 2^10 clocks
RTOCV
01b - Timeout count value for register access is 2^11 clocks
10b - Timeout count value for register access is 2^12 clocks
11b - Timeout count value for register access is 2^13 clocks
12 Peripheral clock select. This bit selects the clock used for generating SD clock. This bit is not reset by
software reset for all.
PCS
0b - Platform clock is used
1b - Peripheral/2 clock is used
13 Flush asynchronous FIFO. This bit is used to flush asynchronous FIFO. It can be set by software and will
be auto cleared by hardware.
FAF
0b - No Flush
1b - Flush async FIFO
14 Re-tuning request. This bit indicates re-tuning request status. eSDHC may request host driver to execute
re-tuning sequence, by setting this bit, when the data window is shifted by temperature drift and a tuned
RTR
sampling point does not have a good margin to receive correct data. This bit is cleared when a command
Table continues on the next page...
Field Function
is issued with setting execute tuning in the system control 2 register. Changing of this bit from 0 to 1
generates re-tuning event. Refer to interrupt status registers for more detail. This bit isn't set to 1 if tuning
block enable in the tuning control register is set to 0 (using fixed sampling clock). This is read-only field.
0b - No re-tuning request
1b - Re-tuning request is set
15 Clock register select. This bit selects the clock division format of SDCLKFS and DVS fields of system
control register.
CRS
0b - SDCLKFS is defined as 8-bit field, and DVS is active in system control register
1b - SDCLKFS is defined as 10-bit field, CGS is active in system control register
16-18 Reserved.
—
19-23 Read prefetch block count. For DMA read (SD write), this field specifies the maximum number of SD
blocks that the host can prefetch from the system memory. It can have following values:
RD_PRFTCH_B
LKCNT 00000b - No prefetch
00001b - 1 SD block prefetch
00010b - 2 SD block prefetch
11111b - 31 SD block prefetch
24 Pad disable
PAD_DIS Pad disable. Padding disable control for DMA transaction with non-word (4-bytes) aligned block size. For
more details refer to Data buffer and block size.
0b - DMA will pad data at the end each block transfer.
1b - DMA will not pad data at the end of each block transfer.
25 Snoop attribute. Snoop enable for DMA transaction.
SNOOP 0b - DMA transactions are not snooped by the CPU data cache.
1b - DMA transactions are snooped by the CPU data cache.
26-27 Reserved.
—
28 Write bufferable. DMA always initiate write transaction on System bus corresponding to last in every SD
block as non-bufferable. This bit specifies whether all non-last write transactions will be bufferable or not.
WR_BUF
0b - Non-last write transactions are not bufferable.
1b - Non-last write transactions are bufferable.
29 Read safe. This bit should be set only if the target of read dma operation is a well behaved memory which
is not affected by the read operation and will return the same data if read again from the same location.
RD_SAFE
This means that unaligned reading operation can be rounded up to enable more efficient read operations.
0b - It is not safe to read more bytes that were intended.
1b - It is safe to read more bytes that were intended.
30-31 Reserved.
—
This block interfaces with the SD bus. It is mainly responsible for controlling the SD
bus operation and transferring data from Data Buffer and SD bus. It also interacts
with System Interface and Control Unit.
• System interface and control unit
This block interfaces with the system interfaces (that is, the system bus in DMA
mode and register bus in CPU polling mode) and transfers the card data from the data
buffer and system.
• Register bank
This block interfaces with register bus and contains all the registers. It controls the
overall operation of eSDHC and also provides status through various registers.
• Clock and reset
This block generates divided clock for SD interface and provides appropriate reset to
all the blocks.
• SD monitor
This block monitors the SD bus and provides status to register banks, such as card
interrupt, write protect and card detect.
The following sections provide a brief functional description of the major system blocks,
including the data buffer, DMA system interface, register bank as well as IP bus
interface, dual-port memory wrapper, data/command controller, clock and reset manager,
and clock generator.
Reg Bus
eSDHC Registers
SD Bus
Data Buffer SD Control
& I/F
System Bus
Internal RAM
DMA
Data is transferred over register bus. For a host read operation, when the number of
words received in the buffer meets or exceeds the RD_WML watermark value, then
by monitoring (polling or interrupt) the BRR bit the host driver can read the buffer
data port register (DATPORT) to fetch the amount of words set in the RD_WML
register from the buffer. For block size integral multiple of watermark level value set
in watermark level register (WML), driver must access buffer data port register
(DATPORT) exactly the same number of times as the watermark level. However, if
the block size is not the times of the watermark level value, the software must access
exactly the remained number of words at the end of each block. For example, for
read operation, if the RD_WML is 4, indicating the watermark level is 16 bytes,
block size is 40 bytes, and the block count is 2, then the access times to Data Buffer
Port Register for the burst sequence in the whole transfer process must be 4, 4, 2(for
first block); 4, 4, 2(for second block). The write operation is similar.
• DMA mode (includes simple and advanced DMA accesses)
Data is transferred over system bus. DMA interrupt is generated after all the data is
transferred to/from the buffer.
Card memory
1 2 3 1
4 4
5 X X X 5
eSDHC
1 2 3 4 1
5 X X X 2
4
First block data
For DMA mode, when block size not a multiple of four; that is, not word aligned,
eSDHC requires stuff bytes depending on the PAD_DIS field programmed in DMA
Control register. The data transfer with byte stuffing enabled (when
DMACTL[PAD_DIS]=0) is shown in Figure 22-5. And, data transfer with byte stuffing
disabled (when DMACTL[PAD_DIS]=1) is shown in Figure 22-6. Transfer with byte
stuffing disabled eliminates the software overhead of byte stuffing. Driver may program
DMA Control register accordingly.
Card memory
System memory 3
1 2 3 1
4 4
5 X X X 5
eSDHC
1 2 3 4 1
5 X X X 2
4
First block data
Card Memory
System Memory
1 4
1 2 3 4
5
5 1 2 3 eSDHC_AXI
1
4 5 - -
2
4
First Block Data
Figure below shows an example which explains the dividing of large data transfers. In
this figure, assume a kind of WLAN SDIO card that only supports block size up to 64
bytes. Although the eSDHC supports a block size of up to 2048 bytes, the SDIO can only
accept a block size less than 64 bytes. Thus, the data must be divided (see example
below).
802.11
IV Frame Body ICV FCS
MAC Header
WLAN Frame is divided equally into 64-byte blocks plus the remainder 32-bytes
Eight 64-byte blocks are sent in Block Transfer Mode and the remainder
32-bytes are sent in Byte Transfer Mode
SDIO Data SDIO Data SDIO Data SDIO Data
CMD53 CMD53
Block 1 Block 2 Block 8 32-bytes
Figure 22-8. Data swap between buffer data port register and data buffer in big endian
mode
System Address
System
eSDHC Registers
Interface
R/W Indication
Master
Logic
System Bus
Data Exchange
Data Buffer
SDMA/
ADMA
Engine
Once the DMAE interrupt is received, the software sends a CMD12 to abort the current
transfer and read the DMAERRADDR[DMA_ADDR] bits to get the starting address of
the corrupted block. For error recovery, the software issues a data reset and re-starts the
transfer from this address to recover the corrupted block.
31 12 11 6 5 4 3 2 1 0
Valid Valid=1 indicates this line of descriptor is effective. If Valid=0, generate ADMA error interrupt and stop ADMA.
System Memory
Descriptor Table
ADMA Sys Addr Register points to
the head node of Descriptor Table
Address/Length Attribute
Advanced DMA
Address Tran
ADMA Sys Addr Register
Address Link
Address/Length Attribute
Data Address (invisible)
Data Length Set
63 32 31 16 15 6 5 4 3 2 1 0
32-bit Address 16-bit Length 0000000000 Act2 Act1 0 Int End Valid
Valid Valid=1 indicates this line of descriptor is effective. If Valid=0, generate ADMA error interrupt and stop ADMA.
DMA Interrupt
Flags
Flags
• SD data out block: This sub-block controls the SD DAT lines for sending out the
block write data from the SD data out FIFO.
• SD data in block: This sub-block monitors the SD DAT line for detecting read and
write data block end and busy period end for transfer control module. It also detects
data line error and card interrupt.
• Tuning block: This sub-block receives Tuning block data from card and tunes IP. It
then forwards the sampled data to Async FIFO for further operation.
ZERO
CRC_OUT
Tuning block tunes the IP on tuning command (CMD19 for SD, CMD21 for MMC) data
sent by card and the sampled data is sent to async FIFO for further operation.
This block oversamples data from card and selects particular sampling point after
completion of tuning procedure, refer to Tuning block procedure for tuning block usage.
Various re-tuning modes are supported by eSDHC as described below.
Table 22-10. Re-tuning modes
Re-Tuning Mode Re-Tuning Method Data Length
1 Software timer 4MB (Max.)
2 Software timer, and re-tuning request 4MB (Max.)
3 Software timer, and auto re-tuning Any
during data transfer
There are two re-tuning timings: Re-tuning request controlled by eSDHC and expiration
of a re-tuning timer(software timer) controlled by the host driver. By receiving either
timing, the host driver executes the re-tuning procedure just before a next command
issue.
The maximum data length per read/write command is restricted so that re-tuning
procedures can be inserted during data transfers.
Re-tuning mode 1
eSDHC do not generate re-tuning request. In this case, the host driver should maintain all
re-tuning timings by using a re-tuning timer. To enable inserting the re-tuning procedure
during data transfers, the data length per read/write command shall be limited up to 4
MB.
Re-tuning mode 2
eSDHC indicates the re-tuning timing by re-tuning request during data transfers. Then the
data length per read/write command shall be limited up to 4 MB. During non data
transfer, re-tuning timing is determined by re-tuning timer.
Re-tuning mode 3
eSDHC takes care of the re-tuning during data transfer (auto re-tuning). Re-tuning
request will not be generated and there is no limitation to data length per read/write
command. During non data transfer, re-tuning timing is determined by re-tuning timer.
Re-tuning timer control example for re-tuning mode 1
The software timer starts counting by loading the initial value. When the timer expires,
the host driver marks an expiration flag. On receiving a command request, the host driver
checks the expiration flag. If the expiration flag is set, then the host driver should perform
the re-tuning procedure before issuing a command. If the expiration flag is not set, then
the host driver issues a command without performing the re-tuning procedure. Every time
the re-tuning procedure is performed, the timer loads the new initial value and the
expiration flag is cleared.
Re-tuning timer control example for re-tuning mode 2 and mode 3
The software timer control is almost the same as re-tuning mode 1 except the timer loads
the new initial value after data transfer (when receiving transfer complete). in case of
mode 3, timer count for re-tuning is set either smaller value: tuning effective time after
re-tuning procedure or after data transfer.
If a host system goes into power down mode, the host driver should stop the re-tuning
timer and set the expiration flag to 1 when the host system resumes from power down
mode.
Register Bank
Control Signals
to other Modules
Status Signals
Software
from other Modules
Visible
Registers
Write 1 Clear
Function
Array
Register
Bus
Signals
Buffer
Data Port
Control
Partial access is not allowed on any register; that is, it should be 32-bit access only.
If the internal data buffer is in danger, and the SD clock must be gated off to avoid buffer
over/under-run, this module asserts the gate of the output SD clock to shut the clock off.
After the buffer danger has recovered, and when the system access of the buffer catches
up, the clock gate of this module opens and the SD clock becomes active again.
The first stage outputs an intermediate clock (DIV), which can be Base, Base/2, Base/
3, ..., or Base/16.
The second stage is a prescaler, and outputs the actual clock (SDHC_CLK). This clock is
the driving clock for sub modules SD Command and SD Data Out in SD Interface and
Control Unit (refer to Figure 22-2) to synchronize with the data rate from the internal
data buffer. The frequency of the clock output from this stage, can be DIV, DIV/2, DIV/
4,..., or DIV/256. Thus, the highest frequency of the SDHC_CLK is Base, and the next
highest is Base/2, while the lowest frequency is Base/4096.
The figure below illustrates the sequence for changing the SD clock frequency.
Clear SYSCTL[SDCLKEN]
SD clock stable
Set SYSCTL[SDCLKEN]
22.4.5 SD monitor
The module detects the CD_B (card detection) as well as the DAT3 signal. The
transceiver reports the card insertion state according to the CD_B state, the signal level
on the DAT3 signal.
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
NXP Semiconductors 1111
Functional description
NOTE
Do not use DAT3 pin as a CD pin.
The module detects the WP (write protect) signal. With the information of the WP state,
the register bank ignores the command, accompanied by a write operation, when the WP
switch is on.
Start
IRQ0 IRQ1
Enable Card IRQ in Host
Function 0 Function 1
End
a) b)
Figure 22-18. Card interrupt scheme and card interrupt detection and handling
procedure
When the DAT[3] pin is not used for card detection (for example, it is implemented in
GPIO), the CD pin must be connected for card detection. Whether DAT[3] is configured
for card detection or not, the CD pin is always a reference for card detection. Whether the
DAT[3] pin or the CD pin is used to detect card insertion, the eSDHC sends an interrupt
(if enabled) to inform the host system that a card is inserted.
For the sake of simplicity, the function wait_for_response is implemented here using
polling. For an effective and formal way, the response is usually checked after the
Command Complete Interrupt is received. By doing this, make sure the corresponding
interrupt status bits are enabled.
For some scenarios, the response time-out is expected. For instance, after all cards
respond to CMD3 and go to the Standby State, no response to the Host when CMD2 is
sent. The host driver should deal with 'fake' errors like this with caution.
Card present
Voltage validation
22.5.2.2 Reset
The host consists of three types of resets:
• Hardware reset (card and host) which is driven by POR (power on reset).
Voltage Validation
Figure 22-20. Flow chart for reset of the eSDHC and SD I/O card
software_reset()
{
set_bit(SYSCTRL, RSTA); // software reset the Host
set DTOCV and SDCLKFS bit fields to get the SDHC_CLK of frequency around 400 KHz
configure IO pad to set the power voltage of external card to around 3.0V
poll bits CIHB and CDIHB bits of PRSSTAT to wait both bits are cleared
set_bit(SYSCTRL, INTIA); // send 80 clock ticks for card to power up
send_command(CMD_GO_IDLE_STATE, <other parameters>); // reset the card with CMD0
or send_command(CMD_IO_RW_DIRECT, <other parameters>);
}
sending their CID immediately and must wait for the next identification cycle. Since the
CID is unique for each card, only one card can be successfully send its full CID to the
host. This card then goes into the Identification State. Thereafter, the host issues
Set_Relative_Addr (CMD3) to assign to the card a relative card address (RCA). Once the
RCA is received the card state changes to the Stand-by State, and the card does not react
in further identification cycles, and its output driver switches from open-drain to push-
pull. The host repeats the process, mainly CMD2 and CMD3, until the host receives a
time-out condition to recognize the completion of the identification process.
card_registry()
{
do { // decide RCA for each card until response time-out
if(card is labelled as SDCombo or SDIO) { // for SDIO card like device
send_command(SET_RELATIVE_ADDR, 0x00, <...>); // ask SDIO card to
publish its
RCA
retrieve RCA from response;
} // end if (card is labelled as SDCombo ...
else if (card is labelled as SD) { // for SD card
send_command(ALL_SEND_CID, <...>);
if (RESP_TIMEOUT == wait_for_response(ALL_SEND_CID)) break;
send_command(SET_RELATIVE_ADDR, <...>);
retrieve RCA from response;
} // else if (card is labelled as SD ...
else if (card is labelled as MMC) {
send_command(ALL_SEND_CID, <...>);
rca = 0x1; // arbitrarily set RCA, 1 here for example
send_command(SET_RELATIVE_ADDR, 0x1 << 16, <...>); // send RCA at upper
16
bits
} // end of else if (card is labelled as MMC ...
} while (response is not time-out);
}
If the host uses partial blocks whose accumulated length is not block aligned and block
misalignment is not allowed (CSD parameter WRITE_BLK_MISALIGN is not set), the
card detects the block misalignment error and aborts the programming before the
beginning of the first misaligned block. The card sets the ADDRESS_ERROR error bit in
the status register, and while ignoring all further data transfer, waits in the Receive-data-
State for a stop command. The write operation is also aborted if the host tries to write
over a write protected area.
For MMC and SD cards, programming of the CID and CSD registers do not require a
previous block length setting. The transferred data is also CRC protected. If a part of the
CSD or CID register is stored in ROM, then this unchangeable part must match the
corresponding part of the receive buffer. If this match fails, then the card will report an
error and not change any register contents.
For all types of cards, some may require long and unpredictable periods of time to write a
block of data. After receiving a block of data and completing the CRC check, the card
will begin writing and hold the DAT line low if its write buffer is full and unable to
accept new data from a new WRITE_BLOCK command. The host may poll the status of
the card with a SEND_STATUS command (CMD13) or other means for SDIO cards at
any time, and the card will respond with its status. The responded status indicates
whether the card can accept new data or whether the write process is still in progress. The
host may deselect the card by issuing a CMD7 (to select a different card) to place the
card into the Standby State and release the DAT line without interrupting the write
operation. When re-selecting the card, it will reactivate the busy indication by pulling
DAT to low if the programming is still in progress and the write buffer is unavailable.
The software flow to write to a card using DMA mode is as follows:
1. Check the card status, wait until the card is ready for data.
2. Set the card block length/size:
a. For SD/MMC cards , use SET_BLOCKLEN (CMD16)
b. For SDIO cards or the I/O portion of SDCombo cards, use IO_RW_DIRECT
(CMD52) to set the I/O block size bit field in the CCCR register (for function 0)
or FBR register (for functions 1-7)
3. Set the eSDHC block length register to be the same as the block length set for the
card in Step 2.
4. Set the eSDHC number block register (NOB), nob is 5 (for instance).
5. Disable the buffer write ready interrupt, configure the DMA settings and enable the
eSDHC DMA when sending the command with data transfer. The AC12EN bit
should also be set.
6. Wait for the Transfer Complete interrupt.
7. Check the status bit to see if a write CRC error occurred, or some other error that
occurred during the auto12 command sending and response receiving.
The software flow to write to a card using CPU Polling mode is as follows:
1. Check the card status, wait until the card is ready for data.
2. Set the card block length/size:
a. For SD/MMC cards , use SET_BLOCKLEN (CMD16)
b. For SDIO cards or the I/O portion of SDCombo cards, use IO_RW_DIRECT
(CMD52) to set the I/O Block Size bit field in the CCCR register (for function 0)
or FBR register (for functions 1-7)
3. Set the eSDHC block length register to be the same as the block length set for the
card in Step 2.
4. Set the eSDHC number block register (NOB), nob is 5 (for instance).
5. Issue the command with data transfer. The AC12EN bit should also be set.
6. Wait for IRQSTAT[BWR] interrupt to be set.
7. Write to Buffer port register for no. of times programmed in WML[WR_WML]
considering restriction mentioned in Software polling procedure.
8. Clear IRQSTAT[BWR].
9. Repeat 6-8 steps for rest of the data transfer.
10. Wait for the Transfer Complete interrupt.
11. Check the status bit to see if a write CRC error occurred, or some other error that
occurred during the auto12 command sending and response receiving.
4. Set the eSDHC number block register (NOB), nob is 5 (for instance).
5. Disable the buffer write ready interrupt, configure the DMA settings and enable the
eSDHC DMA when sending the command with data transfer. The AC12EN bit
should also be set.
6. Set the SABGREQ bit.
7. Wait for the Transfer Complete interrupt.
8. Clear the SABGREQ bit.
9. Check the status bit to see if a write CRC error occurred.
10. Set the CREQ bit to continue the write operation.
11. Wait for the Transfer Complete interrupt.
12. Check the status bit to see if a write CRC error occurred, or some another error, that
occurred during the auto12 command sending and response receiving.
The number of blocks left during the data transfer is accessible by reading the contents of
BLKATTR[BLKCNT]. As the data transfer and the setting of the SABGREQ bit are
concurrent, and the delay of register read and the register setting, the actual number of
blocks left may not be exactly the value read earlier. The driver should read the value of
BLKCNT after the transfer is paused and the transfer complete interrupt is received.
It is also possible the last block has begun when the stop at block gap request is sent to
the buffer. In this case, the next block gap is actually the end of the transfer. These types
of requests are ignored and the driver should treat this as a non-pause transfer and deal
with it as a common write operation.
When the write operation is paused, the data transfer inside the host system is not
stopped, and the transfer is active until the data buffer is full. Because of this (if not
needed), it is recommended to avoid using the suspend command for the SDIO card. This
is because, when such a command is sent, the eSDHC thinks that the system will switch
to another function on the SDIO card, and flush the data buffer. The eSDHC takes the
resume command as a normal command with data transfer, and it is left for the driver to
set all the relevant registers before the transfer is resumed. If there is only one block to
send when the transfer is resumed, XFERTYP[MSBSEL] and XFERTYP[BCEN] are set
as well as XFERTYP[AC12EN]. However, the eSDHC will automatically send a
CMD12 to mark the end of the multi-block transfer.
A CRC is appended to the end of each block, ensuring data transfer integrity. The
CMD17, CMD18, CMD53, CMD60, CMD61, and so on, can initiate a block read. After
completing the transfer, the card returns to the transfer state. For multi-blocks read, data
blocks will be continuously transferred until a stop command is issued.
The software flow to read from a card using DMA mode is as follows:
1. Check the card status, wait until card is ready for data.
2. Set the card block length/size:
a. For SD/MMC cards , use SET_BLOCKLEN (CMD16)
b. For SDIO cards or the I/O portion of SDCombo cards, use
IO_RW_DIRECT(CMD52) to set the I/O block size bit field in the CCCR
register (for function 0) or FBR register (for functions 1-7)
3. Set the eSDHC block length register to be the same as the block length set for the
card in Step 2.
4. Set the eSDHC number block register (NOB), nob is 5 (for instance).
5. Disable the buffer read ready interrupt, configure the DMA settings and enable the
eSDHC DMA when sending the command with data transfer. The AC12EN bit
should also be set.
6. Wait for the Transfer Complete interrupt.
7. Check the status bit to see if a read CRC error occurred, or some other error,
occurred during the auto12 command sending and response receiving.
The software flow to read from a card using CPU polling mode is as follows:
1. Check the card status, wait until card is ready for data.
2. Set the card block length/size:
a. For SD/MMC cards , use SET_BLOCKLEN (CMD16)
b. For SDIO cards or the I/O portion of SDCombo cards, use
IO_RW_DIRECT(CMD52) to set the I/O block size bit field in the CCCR
register (for function 0) or FBR register (for functions 1-7)
3. Set the eSDHC block length register to be the same as the block length set for the
card in Step 2.
4. Set the eSDHC number block register (NOB), nob is 5 (for instance).
5. Issue the command with data transfer. The AC12EN bit should also be set.
6. Wait for IRQSTAT[BRR] interrupt to be set.
7. Read from Buffer port register for number of times programmed in
WML[RD_WML] considering restriction mentioned in Software polling procedure.
8. Clear IRQSTAT[BRR].
9. Repeat 6-8 steps for rest of the data transfer.
10. Wait for the Transfer Complete interrupt.
11. Check the status bit to see if a read CRC error occurred, or some other error,
occurred during the auto12 command sending and response receiving.
Unlike the write operation, there is no remaining data inside the buffer when the transfer
is paused. All data received before the pause will be transferred to the Host System. Even
if the Suspend Command is sent or not, the internal data buffer is not flushed.
If the Suspend Command is sent and the transfer is later resumed by means of a Resume
Command, the eSDHC takes the command as a normal one accompanied with data
transfer. It is left for the driver to set all the relevant registers before the transfer is
resumed. If there is only one block to send when the transfer is resumed,
XFERTYP[MSBSEL] and XFERTYP[BCEN] are set, as well as XFERTYP[AC12EN].
However, the eSDHC will automatically send the CMD12 to mark the end of multi-block
transfer.
22.5.3.3.1 Suspend
After setting the SABGREQ bit, the host driver may send a Suspend command to switch
to another function of the SDIO card. The eSDHC does not monitor the content of the
response, so it doesn't know if the Suspend command succeeded or not.
Accordingly, it doesn't de-assert Read Wait for read pause. To solve this problem, the
driver should not mark the Suspend command as a "Suspend", (that is, setting the
CMDTYP bits to 01). Instead, the driver should send this command as if it were a normal
command, and only when the command succeeds, and the BS bit is set in the response,
can the driver send another command marked as "Suspend" to inform the eSDHC that the
current transfer is suspended. As shown in the following sequence for Suspend operation:
1. Set the SABREQ bit to pause the current data transfer at block gap.
2. After the BGE bit is set, save the context registers in the system memory for later
use, including the SDMA system address register (DSADDR) for DMA operation,
and the block attributes register (BLKATTR).
3. Send the Suspend command to suspend the active function. The CMDTYP bit field
must be 2'b00.
4. Check the BS bit of the CCCR in the response. If it is 1, repeat this step until the BS
bit is cleared or abandon the suspend operation according to the driver strategy.
5. Send another normal I/O command to the suspended function. The CMDTYP of this
command must be 2'b01, so the eSDHC can detect this special setting and be
informed that the paused operation has successfully suspended. If the paused transfer
is a read operation, the eSDHC stops driving DAT2 and goes to the idle state.
22.5.3.3.2 Resume
To resume the data transfer, a resume command should be issued:
1. To resume the suspended function, restore the context register with the saved value
in step #2 of the suspend operation above.
2. Send the resume command. In the transfer type register (XFERTYP), all bit fields are
set to the value as if this were another ordinary data transfer, instead of a transfer
resume (except the CMDTYP is set to 2'b10).
3. If the resume command has responded, the data transfer will be resumed.
Host driver should execute tuning procedure before initiating data transfer with these
speed modes.
The steps for using tuning block are:
1. Clear SYSCTL[SDCLKEN]
2. Wait for PRSSTAT[SDSTB] to be set
3. Set ESDHCCTL[FAF]
4. Wait for ESDHCCTL[FAF] to be cleared
5. Set appropriate AUTOCERR[UHSM]
6. Set TBCTL[TB_EN] and program appropriate TBCTL[TB_MODE]
7. Set SYSCTL[SDCLKEN]
8. Wait for PRSSTAT[SDSTB] to be set
9. Execute tuning procedure
While tuning procedure is being performed, eSDHC doesn’t generate any other command
or data interrupt except buffer read ready in IRQSTAT register.
When tuning error is received, host driver should abort the current data transfer and
execute the tuning procedure.
ESDHCCTL[PCS] (peripheral clock select), and TBCTL[TB_EN] (tuning block enable)
should always be set whenever using tuning block. PCS should be set before TB_EN.
NOTE
• Similar steps needs to be performed to disable tuning block,
except programming different values in 5 and 6. Also 9
need not to be performed.
• For tuning mode operation, the SD clock divisor value must
be within 3 to 16.
The steps for tuning procedure, when TBCTL[TB_MODE] is set to SW tuning mode,
are:
1. Program the start and end pointer for the data window in the TPR register.
2. Set SYSCTL2[EXTN] and SYSCTL2[SMPCLKSEL], execute tuning.
3. Issue SEND_TUNING_BLK Command (CMD19 for SD, CMD21 for MMC).
4. Wait for IRQSTAT[BRR], buffer read ready, to be set.
5. Clear IRQSTAT[BRR].
6. Check SYSCTL2[EXTN] to be cleared.
7. Check SYSCTL2[SMPCLKSEL], sampling clock select. It's set value indicates
tuning procedure success, and clears indicate failure. In case of tuning failure, fixed
sampling scheme could be used by clearing TBCTL[TB_EN], tuning block enable
bit.
22.5.3.6 DDR
The steps for using DDR mode are:
1. Clear SYSCTL[SDCLKEN]
2. Wait for PRSSTAT[SDSTB] to be set
3. Program AUTOCERR[UHSM] to 4
4. If required, change the clock division ratio in SYSCTL register
5. Set SDCLKCTL[CMD_CLK_CTL] and SDCLKCTL[LPBK_CLK_SEL] for DDR
mode
6. Set SYSCTL[SDCLKEN]
7. Wait for PRSSTAT[SDSTB] to be set
8. Again clear SYSCTL[SDCLKEN]
9. Wait for PRSSTAT[SDSTB] to be set
10. Set ESDHCCTL[FAF]
11. Wait for ESDHCCTL[FAF] to be cleared
12. Set SYSCTL[SDCLKEN]
13. Wait for PRSSTAT[SDSTB] to be set
NOTE
1. SD clock divisor should be even for DDR mode.
Whenever these errors occur, the DMA transfer stops and the corresponding error status
bit is set. For acknowledging the status, the host driver should recover the error as shown
below and re-transfer from the place of interruption.
1. System transfer error: Such errors may occur during data transfer or descriptor fetch.
For either scenario, it is recommended to retrieve the transfer context, reset for the
data part and re-transfer the block that was corrupted, or the next block if no block is
corrupted.
2. Invalid descriptor error: For such errors, it is recommended to retrieve the transfer
context, reset for the data part and re-create the descriptor chain from the invalid
descriptor and issue a new transfer. As the data to transfer now may be less than the
previous setting, the data length configured in the new descriptor chain should match
the new value.
3. Data-length mismatch error: It is similar to recover from this error. The host driver
polls relating registers to retrieve the transfer context, apply a reset for the data part,
configure a new descriptor chain, and make another transfer if there is data left. Like
the previous scenario of the invalid descriptor error, the data length must match the
new transfer.
When the SDIO interrupt is captured by the eSDHC, and the Host System is informed by
the eSDHC asserting the eSDHC interrupt line, the interrupt service from the host driver
is called.
As the interrupt factor is controlled by the external card, the interrupt from the SDIO card
must be served before the CINT bit is cleared by written 1. Refer to Card interrupt
handling for the card interrupt handling flow.
SD_CLK_SYNC_OUT
SD_CLK_SYNC_IN
Card
eSDHC SD_CMD/DATA
Below figure illustrates interfacing card with eSDHC through voltage translator when the
voltages are different. CMD/DATA DIR and SD_VS pins might be required when
interfacing with voltage translator that support DDR, and SDR more than 50 MHz
modes. eSDHC SD_VS, or GPIO could be used to control SEL pin of the translator.
SD_CLK SD_CLK
SD_CLK_SYNC_IN CLK-f
SD_CMD/DATA SD CMD/DATA
SD_CMD_DIR,
SD_DAT0_DIR, Voltage
Card
eSDHC SD_DAT123_DIR Translator
SD_VS or
GPIO
SEL
NOTE
CD, WP and DAT4-7 are not shown in above figures for
simplicity.
1. CMD3 differs for MMC and SD cards. For MMC cards, it is referred to as SET_RELATIVE_ADDR, with a response type of
R1. For SD cards, it is referred to as SEND_RELATIVE_ADDR, with a response type of R6 (with RCA inside).
2. CMD6 differs completely between high speed MMC cards and high speed SD cards. Command SWITCH_FUNC is for
high speed SD cards.
3. Command SWITCH is for high speed MMC cards. The Index field can contain any value from 0-255, but only values 0-191
are valid. If the Index value is in the 192-255 range the card does not perform any modification and the SWITCH_ERROR
status bit in the EXT_CSD register is set. The Access Bits are shown in Table 2.
4. CMD8 for SD stands for SEND_IF_COND.
5. CMD8 for MMC stands for SEND_EXT_CSD.
6. ACMDs should be preceded with the APP_CMD command. (Commands listed are used for SD only, other SD commands
not listed are not supported on this module).
22.8.8 Soft reset for data not allowed when SD clock is disabled
Soft reset for data and CMD (SYSCTL[RSTD]/SYSCTL[RSTC]) should not be issued
when SD clock is disabled; that is, when SYSCTL[SDCLKEN] is cleared.
Instead, the host driver may issue soft reset for all (SYSCTL[RSTA]).
The remainder of this chapter refers to a single FlexTimer module. Notes are included to
indicate variations for multiple instantiations.
The table below shows the FlexTimer chaining for 32-bit counter. See FTM chain
configuration (SCFG_FTM_CHAIN_CONFIG) for more details.
Table 23-4. FlexTimer chaining for 32-bit counter
FlexTimer-A FlexTimer-B Control bit Control bit default value
FTM1 FTM5 SCFG_FTM_RESET[FTMCHN1] 0 = Chaining disabled
FTM2 FTM6 SCFG_FTM_RESET[FTMCHN2] 0 = Chaining disabled
FTM3 FTM7 SCFG_FTM_RESET[FTMCHN3] 0 = Chaining disabled
FTM4 FTM8 SCFG_FTM_RESET[FTMCHN4] 0 = Chaining disabled
It is possible to chain two FlexTimer modules to get a bigger 32-bit counter. This is
achieved by:
• Connecting CH7 output of FlexTimer-B to PHA input of FlexTimer-A.
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
1150 NXP Semiconductors
Chapter 23 FlexTimer Module (FTM)
23.2 Introduction
The FlexTimer module (FTM) is a two-to-eight channel timer that supports input capture,
output compare, and the generation of PWM signals to control electric motor and power
management applications. The FTM time reference is a 16-bit counter that can be used as
an unsigned or signed counter.
NOTE
The number of channels supported can vary for each instance of
the FTM module on a chip. See the chip-specific FTM
information to see how many channels are supported for each
module instance. For example, if a module instance supports
only six channels, references to channel numbers 6 and 7 do not
apply for that instance.
Motor control and power conversion features have been added through a dedicated set of
registers and defaults turn off all new features. The new features, such as hardware
deadtime insertion, polarity, fault control, and output forcing and masking, greatly reduce
loading on the execution software and are usually each controlled by a group of registers.
FlexTimer input triggers can be from comparators, ADC, or other submodules to initiate
timer functions automatically. These triggers can be linked in a variety of ways during
integration of the sub modules so please note the options available for used FlexTimer
configuration.
More than one FlexTimers may be synchronized to provide a larger timer with their
counters incrementing in unison, assuming the initialization, the input clocks, the initial
and final counting values are the same in each FlexTimer.
All main user access registers are buffered to ease the load on the executing software. A
number of trigger options exist to determine which registers are updated with this user
defined data.
23.2.2 Features
The FTM features include:
• FTM source clock is selectable.
• The source clock can be the system clock, the fixed frequency clock, or an
external clock
• Fixed frequency clock is an additional clock input to allow the selection of an on
chip clock source other than the system clock
• Selecting external clock connects FTM clock to a chip level input pin therefore
allowing to synchronize the FTM counter with an off chip clock source
• Prescaler divide-by 1, 2, 4, 8, 16, 32, 64, or 128
• 16-bit counter
• It can be a free-running counter or a counter with initial and final value
• The counting can be up or up-down
• Each channel can be configured for input capture, output compare, or edge-aligned
PWM mode
• In Input Capture mode:
• The capture can occur on rising edges, falling edges or both edges
• An input filter can be selected for some channels
• In Output Compare mode the output signal can be set, cleared, or toggled on match
• All channels can be configured for center-aligned PWM mode
• Each pair of channels can be combined to generate a PWM signal with independent
control of both edges of PWM signal
• The FTM channels can operate as pairs with equal outputs, pairs with
complementary outputs, or independent channels with independent outputs
• The deadtime insertion is available for each complementary pair
• Generation of match triggers
• Initialization trigger
• Software control of PWM outputs
• Up to 4 fault inputs for global fault control
• The polarity of each channel is configurable
• The generation of an interrupt per channel
• The generation of an interrupt when the counter overflows
• The generation of an interrupt when the fault condition is detected
• Synchronized loading of write buffered FTM registers
• Write protection for critical registers
• Backwards compatible with TPM
• Testing of input captures for a stuck at zero and one conditions
• Dual edge capture for pulse and period width measurement
• Quadrature decoder with input filters, relative position counting, and interrupt on
position count or capture of position count on external event
FTM continues to operate normally. If the FTM does not need to produce a real time
reference or provide the interrupt sources needed to wake the chip from Wait mode, the
power can then be saved by disabling FTM functions before entering Wait mode.
FAULTM[1:0]
FTM counter TOIE timer overflow
MOD TOF interrupt
FFVAL[3:0]
FAULTIE TOFDIR
FAULTIN
FAULTnEN*
FAULTF
FFLTRnEN* QUADIR
FAULTFn*
fault control fault interrupt
fault input n* *where n = 3, 2, 1, 0
fault condition
channel 0
input input capture output modes logic
mode logic C0V channel 0
(generation of channels 0 and 1 outputs signals in output
compare, EPWM, CPWM and combine modes according to output signal
initialization, complementary mode, inverting, software output channel 1
input capture C1V control, deadtime insertion, output mask, fault control output signal
channel 1 mode logic and polarity control)
input
DECAPEN
COMBINE0 CH1F channel 1
interrupt channel 1
CPWMS CH1IE CH1TRIG match trigger
MS1B:MS1A
ELS1B:ELS1A
channel 6
input input capture output modes logic
mode logic C6V channel 6
(generation of channels 6 and 7 outputs signals in output
compare, EPWM, CPWM and combine modes according to output signal
initialization, complementary mode, inverting, software output channel 7
input capture C7V control, deadtime insertion, output mask, fault control output signal
channel 7 mode logic and polarity control)
input
DECAPEN
COMBINE3 CH7F channel 7 channel 7
CPWMS CH7IE
interrupt CH7TRIG match trigger
MS7B:MS7A
ELS7B:ELS7A
Note
Do not write in the region from the CNTIN register through the
PWMLOAD register when FTMEN = 0.
NOTE
The number of channels supported can vary for each instance of
the FTM module on a chip. See the chip-specific FTM
information to see how many channels are supported for each
module instance. For example, if a module instance supports
only six channels, references to channel numbers 6 and 7 do not
apply for that instance.
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
TOF
R 0 CPWMS
TOIE CLKS PS
W 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000 Divide by 1
001 Divide by 2
010 Divide by 4
011 Divide by 8
100 Divide by 16
101 Divide by 32
110 Divide by 64
111 Divide by 128
R 0
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R 0 CHF 0
CHIE MSB MSA ELSB ELSA DMA
W 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Each CHnF bit in STATUS is a mirror of CHnF bit in CnSC. All CHnF bits can be
checked using only one read of STATUS. All CHnF bits can be cleared by reading
STATUS followed by writing 0x00 to STATUS.
Hardware sets the individual channel flags when an event occurs on the channel. CHnF is
cleared by reading STATUS while CHnF is set and then writing a 0 to the CHnF bit.
Writing a 1 to CHnF has no effect.
If another event occurs between the read and write operations, the write operation has no
effect; therefore, CHnF remains set indicating an event has occurred. In this case, a CHnF
interrupt request is not lost due to the clearing sequence for a previous CHnF.
Address: Base address + 50h offset
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
CH7F
CH6F
CH5F
CH4F
CH3F
CH2F
CH1F
CH0F
R 0
W 0 0 0 0 0 0 0 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
• Write protection
• Channel output initialization
These controls relate to all channels within this module.
Address: Base address + 54h offset
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
PWMSYNC
0
CAPTEST
R
FAULTIE
FTMEN
WPDIS
FAULTM INIT
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 No restrictions. Software and hardware triggers can be used by MOD, CnV, OUTMASK, and FTM
counter synchronization.
1 Software trigger can only be used by MOD and CnV synchronization, and hardware triggers can only
be used by OUTMASK and FTM counter synchronization.
29 Write Protection Disable
WPDIS
When write protection is enabled (WPDIS = 0), write protected bits cannot be written. When write
protection is disabled (WPDIS = 1), write protected bits can be written. The WPDIS bit is the negation of
the WPEN bit. WPDIS is cleared when 1 is written to WPEN. WPDIS is set when WPEN bit is read as a 1
and then 1 is written to WPDIS. Writing 0 to WPDIS has no effect.
0 TPM compatibility. Free running counter and synchronization compatible with TPM.
1 Free running counter and synchronization are different from TPM behavior.
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
SYNCHOM
R 0
SWSYNC
CNTMAX
CNTMIN
REINIT
TRIG2
TRIG1
TRIG0
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 Trigger is disabled.
1 Trigger is enabled.
26 PWM Synchronization Hardware Trigger 1
TRIG1
Enables hardware trigger 1 to the PWM synchronization. Hardware trigger 1 happens when a rising edge
is detected at the trigger 1 input signal.
Table continues on the next page...
0 Trigger is disabled.
1 Trigger is enabled.
28 Output Mask Synchronization
SYNCHOM
Selects when the OUTMASK register is updated with the value of its buffer.
0 OUTMASK register is updated with the value of its buffer in all rising edges of the system clock.
1 OUTMASK register is updated with the value of its buffer only by the PWM synchronization.
29 FTM Counter Reinitialization By Synchronization (FTM counter synchronization)
REINIT
Determines if the FTM counter is reinitialized when the selected trigger for the synchronization is detected.
The REINIT bit configures the synchronization when SYNCMODE is zero.
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R 0
CH7OI
CH6OI
CH5OI
CH4OI
CH3OI
CH2OI
CH1OI
CH0OI
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R 0
CH7OM
CH6OM
CH5OM
CH4OM
CH3OM
CH2OM
CH1OM
CH0OM
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register contains the control bits used to configure the fault control, synchronization,
deadtime insertion, Dual Edge Capture mode, Complementary, and Combine mode for
each pair of channels (n) and (n+1), where n equals 0, 2, 4, and 6.
Address: Base address + 64h offset
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
DECAPEN3
DECAPEN2
0 0
COMBINE3
COMBINE2
FAULTEN3
FAULTEN2
R
SYNCEN3
SYNCEN2
DECAP3
DECAP2
COMP3
COMP2
DTEN3
DTEN2
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
DECAPEN1
DECAPEN0
0 0
COMBINE1
COMBINE0
FAULTEN1
FAULTEN0
R
SYNCEN1
SYNCEN0
DECAP1
DECAP0
COMP1
COMP0
DTEN1
DTEN0
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 The channel (n+1) output is the same as the channel (n) output.
1 The channel (n+1) output is the complement of the channel (n) output.
7 Combine Channels For n = 6
COMBINE3
Enables the combine feature for channels (n) and (n+1).
This field is write protected. It can be written only when MODE[WPDIS] = 1.
0 The channel (n+1) output is the same as the channel (n) output.
1 The channel (n+1) output is the complement of the channel (n) output.
15 Combine Channels For n = 4
COMBINE2
Enables the combine feature for channels (n) and (n+1).
This field is write protected. It can be written only when MODE[WPDIS] = 1.
0 The channel (n+1) output is the same as the channel (n) output.
1 The channel (n+1) output is the complement of the channel (n) output.
23 Combine Channels For n = 2
COMBINE1
Enables the combine feature for channels (n) and (n+1).
This field is write protected. It can be written only when MODE[WPDIS] = 1.
0 The channel (n+1) output is the same as the channel (n) output.
1 The channel (n+1) output is the complement of the channel (n) output.
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
TRIGF
R
INITTRIGEN
CH1TRIG
CH0TRIG
CH5TRIG
CH4TRIG
CH3TRIG
Reserved CH2TRIG
W 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved POL7 POL6 POL5 POL4 POL3 POL2 POL1 POL0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
FAULTF3
FAULTF2
FAULTF1
FAULTF0
FAULTIN
FAULTF
R 0 0
WPEN
W 0 0 0 0 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register selects the filter value for the fault inputs, enables the fault inputs and the
fault inputs filter.
Address: Base address + 7Ch offset
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
FAULT3EN
FAULT2EN
FAULT1EN
FAULT0EN
FFLTR3EN
FFLTR2EN
FFLTR1EN
FFLTR0EN
R 0
FFVAL
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
QUADIR
TOFDIR
R 0
PHAFLTREN
PHBFLTREN
QUADMODE
QUADEN
PHAPOL
PHBPOL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 Normal polarity. Phase A input signal is not inverted before identifying the rising and falling edges of
this signal.
1 Inverted polarity. Phase A input signal is inverted before identifying the rising and falling edges of this
signal.
27 Phase B Input Polarity
PHBPOL
Selects the polarity for the quadrature decoder phase B input.
0 Normal polarity. Phase B input signal is not inverted before identifying the rising and falling edges of
this signal.
1 Inverted polarity. Phase B input signal is inverted before identifying the rising and falling edges of this
signal.
28 Quadrature Decoder Mode
QUADMODE
Selects the encoding mode used in the Quadrature Decoder mode.
0 TOF bit was set on the bottom of counting. There was an FTM counter decrement and FTM counter
changes from its minimum value (CNTIN register) to its maximum value (MOD register).
1 TOF bit was set on the top of counting. There was an FTM counter increment and FTM counter
changes from its maximum value (MOD register) to its minimum value (CNTIN register).
This register selects the number of times that the FTM counter overflow should occur
before the TOF bit to be set, the FTM behavior in modes, the use of an external global
time base, and the global time base signal generation.
Address: Base address + 84h offset
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
GTBEOUT
R 0 0 0 0
GTBEEN
NUMTOF
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R 0
FLT3POL
FLT2POL
FLT1POL
FLT0POL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 The fault input polarity is active high. A 1 at the fault input indicates a fault.
1 The fault input polarity is active low. A 0 at the fault input indicates a fault.
29 Fault Input 2 Polarity
FLT2POL
Defines the polarity of the fault input.
This field is write protected. It can be written only when MODE[WPDIS] = 1.
0 The fault input polarity is active high. A 1 at the fault input indicates a fault.
1 The fault input polarity is active low. A 0 at the fault input indicates a fault.
30 Fault Input 1 Polarity
FLT1POL
Defines the polarity of the fault input.
This field is write protected. It can be written only when MODE[WPDIS] = 1.
0 The fault input polarity is active high. A 1 at the fault input indicates a fault.
1 The fault input polarity is active low. A 0 at the fault input indicates a fault.
31 Fault Input 0 Polarity
FLT0POL
Defines the polarity of the fault input.
This field is write protected. It can be written only when MODE[WPDIS] = 1.
0 The fault input polarity is active high. A 1 at the fault input indicates a fault.
1 The fault input polarity is active low. A 0 at the fault input indicates a fault.
HWRSTCNT
HWWRBUF
R 0
HWINVC
HWSOC
HWOM
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
HWTRIGMOD
SYNCMODE
0 SWRSTCNT 0 0 0
SWWRBUF
R
SWINVC
SWSOC
CNTINC
SWOM
SWOC
INVC
E
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R 0
INV3EN
INV2EN
INV1EN
INV0EN
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
CH7OCV
CH6OCV
CH5OCV
CH4OCV
CH3OCV
CH2OCV
CH1OCV
CH0OCV
CH7OC
CH6OC
CH5OC
CH4OC
CH3OC
CH2OC
CH1OC
CH0OC
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R 0 0
CH7SEL
CH6SEL
CH5SEL
CH4SEL
CH3SEL
CH2SEL
CH1SEL
CH0SEL
LDOK
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
prescaler counter 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
FTM counter 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2
The external clock passes through a synchronizer clocked by the system clock to assure
that counter transitions are properly aligned to system clock transitions.Therefore, to
meet Nyquist criteria considering also jitter, the frequency of the external clock source
must not exceed 1/4 of the system clock frequency.
23.5.2 Prescaler
The selected counter clock source passes through a prescaler that is a 7-bit counter. The
value of the prescaler is selected by the PS[2:0] bits. The following figure shows an
example of the prescaler counter and FTM counter.
FTM counting is up.
PS[2:0] = 001
CNTIN = 0x0000
MOD = 0x0003
prescaler counter 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
FTM counter 0 1 2 3 0 1 2 3 0 1
23.5.3 Counter
The FTM has a 16-bit counter that is used by the channels either for input or output
modes. The FTM counter clock is the selected clock divided by the prescaler.
The FTM counter has these modes of operation:
• Up counting
• Up-down counting
• Quadrature Decoder mode
23.5.3.1 Up counting
Up counting is selected when:
• QUADEN = 0, and
• CPWMS = 0
CNTIN defines the starting value of the count and MOD defines the final value of the
count, see the following figure. The value of CNTIN is loaded into the FTM counter, and
the counter increments until the value of MOD is reached, at which point the counter is
reloaded with the value of CNTIN.
The FTM period when using up counting is (MOD – CNTIN + 0x0001) × period of the
FTM counter clock.
The TOF bit is set when the FTM counter changes from MOD to CNTIN.
FTM counting is up.
CNTIN = 0xFFFC (in two's complement is equal to -4)
MOD = 0x0004
TOF bit
FTM counting is up
CNTIN = 0x0000
MOD = 0x0004
FTM counter 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2
TOF bit
Note
• FTM operation is only valid when the value of the CNTIN
register is less than the value of the MOD register, either in
the unsigned counting or signed counting. It is the
responsibility of the software to ensure that the values in
the CNTIN and MOD registers meet this requirement. Any
values of CNTIN and MOD that do not satisfy this criteria
can result in unpredictable behavior.
• MOD = CNTIN is a redundant condition. In this case, the
FTM counter is always equal to MOD and the TOF bit is
set in each rising edge of the FTM counter clock.
• When MOD = 0x0000, CNTIN = 0x0000, for example
after reset, and FTMEN = 1, the FTM counter remains
stopped at 0x0000 until a non-zero value is written into the
MOD or CNTIN registers.
• Setting CNTIN to be greater than the value of MOD is not
recommended as this unusual setting may make the FTM
operation difficult to comprehend. However, there is no
restriction on this configuration, and an example is shown
in the following figure.
FTM counting is up
MOD = 0x0005
CNTIN = 0x0015
FTM counter 0x0005 0x0015 0x0016 ... 0xFFFE 0xFFFF 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0015 0x0016 ...
...
TOF bit
Figure 23-6. Example of up counting when the value of CNTIN is greater than the value
of MOD
FTM counter 0 1 2 3 4 3 2 1 0 1 2 3 4 3 2 1 0 1 2 3 4
TOF bit
Note
When CNTIN is different from zero in the up-down counting, a
valid CPWM signal is generated:
• if CnV > CNTIN, or
• if CnV = 0 or if CnV[15] = 1. In this case, 0% CPWM is
generated.
FTM counter ... 0x0003 0x0004 ... 0xFFFE 0xFFFF 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 ...
TOF bit
• FTMEN = 1
• QUADEN = 0
• CPWMS = 0
• CNTIN = 0x0000, and
• MOD = 0xFFFF
FTM counter
NUMTOF[4:0] 0x02
TOF counter 0x01 0x02 0x00 0x01 0x02 0x00 0x01 0x02
FTM counter
NUMTOF[4:0] 0x00
was rising
edge selected?
is filter
enabled? channel (n) interrupt
0 0 CHnIE
CHnF
synchronizer rising edge 1
0
channel (n) input DQ DQ edge
detector CnV
Filter* 1
system clock CLK CLK 1
falling edge
0 0
was falling
edge selected?
* Filtering function is only available in the inputs of channel 0, 1, 2, and 3 FTM counter
If the channel input does not have a filter enabled, then the input signal is always delayed
3 rising edges of the system clock, that is, two rising edges to the synchronizer plus one
more rising edge to the edge detector. In other words, the CHnF bit is set on the third
rising edge of the system clock after a valid edge occurs on the channel input.
CHnFVAL[3:0]
Logic to control
channel (n) input after the filter counter
the synchronizer filter output
S Q
filter counter Logic to define
C
the filter output
divided by 4
CLK
system clock
When there is a state change in the input signal, the counter is reset and starts counting
up. As long as the new state is stable on the input, the counter continues to increment.
When the counter is equal to CHnFVAL[3:0], the state change of the input signal is
validated. It is then transmitted as a pulse edge to the edge detector.
If the opposite edge appears on the input signal before it can be validated, the counter is
reset. At the next input transition, the counter starts counting again. Any pulse that is
shorter than the minimum value selected by CHnFVAL[3:0] (× 4 system clocks) is
regarded as a glitch and is not passed on to the edge detector. A timing diagram of the
input filter is shown in the following figure.
The filter function is disabled when CHnFVAL[3:0] bits are zero. In this case, the input
signal is delayed 3 rising edges of the system clock. If (CHnFVAL[3:0] ≠ 0000), then the
input signal is delayed by the minimum pulse width (CHnFVAL[3:0] × 4 system clocks)
plus a further 4 rising edges of the system clock: two rising edges to the synchronizer,
one rising edge to the filter output, plus one more to the edge detector. In other words,
CHnF is set (4 + 4 × CHnFVAL[3:0]) system clock periods after a valid edge occurs on
the channel input.
The clock for the counter in the channel input filter is the system clock divided by 4.
system clock divided by 4
counte r
CHnFVAL[3:0] = 0100
(binary value)
Time
filter output *
* Note: Filter output is delayed one system clock of filter counter logic output.
The figure below shows an example of input capture with filter enabled and the delay
added by each part of the input capture logic. Note that the input signal is delayed only by
the synchronizer and edge dector logic if the filter is disabled.
system clock
FTM counter 1 2 3 4 5 6 7 8 9 10 11 12 13
CHnFVAL[3:0] 2
filter counter 1 2 1
filter output
C(n)V 0 12
CHnF
TOF bit
Figure 23-15. Example of the Output Compare mode when the match toggles the
channel output
MOD = 0x0005
CnV = 0x0003
counter channel (n) counter channel (n) counter
overflow match overflow match overflow
TOF bit
Figure 23-16. Example of the Output Compare mode when the match clears the channel
output
MOD = 0x0005
CnV = 0x0003
counter channel (n) counter channel (n) counter
overflow match overflow match overflow
TOF bit
Figure 23-17. Example of the Output Compare mode when the match sets the channel
output
If (ELSnB:ELSnA = 0:0) when the counter reaches the value in the CnV register, the
CHnF bit is set and the channel (n) interrupt is generated if CHnIE = 1, however the
channel (n) output is not modified and controlled by FTM.
• DECAPEN = 0
• COMBINE = 0
• CPWMS = 0, and
• MSnB = 1
The EPWM period is determined by (MOD − CNTIN + 0x0001) and the pulse width
(duty cycle) is determined by (CnV − CNTIN).
The CHnF bit is set and the channel (n) interrupt is generated if CHnIE = 1 at the channel
(n) match (FTM counter = CnV), that is, at the end of the pulse width.
This type of PWM signal is called edge-aligned because the leading edges of all PWM
signals are aligned with the beginning of the period, which is the same for all channels
within an FTM.
counter overflow counter overflow counter overflow
period
pulse
width
Figure 23-18. EPWM period and pulse width with ELSnB:ELSnA = 1:0
If (ELSnB:ELSnA = 0:0) when the counter reaches the value in the CnV register, the
CHnF bit is set and the channel (n) interrupt is generated if CHnIE = 1, however the
channel (n) output is not controlled by FTM.
If (ELSnB:ELSnA = 1:0), then the channel (n) output is forced high at the counter
overflow when the CNTIN register value is loaded into the FTM counter, and it is forced
low at the channel (n) match (FTM counter = CnV). See the following figure.
MOD = 0x0008
CnV = 0x0005
counter channel (n) counter
overflow match overflow
TOF bit
If (ELSnB:ELSnA = X:1), then the channel (n) output is forced low at the counter
overflow when the CNTIN register value is loaded into the FTM counter, and it is forced
high at the channel (n) match (FTM counter = CnV). See the following figure.
MOD = 0x0008
CnV = 0x0005 counter channel (n) counter
overflow match overflow
TOF bit
If (CnV = 0x0000), then the channel (n) output is a 0% duty cycle EPWM signal and
CHnF bit is not set even when there is the channel (n) match.
If (CnV > MOD), then the channel (n) output is a 100% duty cycle EPWM signal and
CHnF bit is not set.Therefore, MOD must be less than 0xFFFF in order to get a 100%
duty cycle EPWM signal.
Note
When CNTIN is different from zero the following EPWM
signals can be generated:
• 0% EPWM signal if CnV = CNTIN,
• EPWM signal between 0% and 100% if CNTIN < CnV <=
MOD,
• 100% EPWM signal when CNTIN > CnV or CnV > MOD.
The CHnF bit is set and channel (n) interrupt is generated (if CHnIE = 1) at the channel
(n) match (FTM counter = CnV) when the FTM counting is down (at the begin of the
pulse width) and when the FTM counting is up (at the end of the pulse width).
This type of PWM signal is called center-aligned because the pulse width centers for all
channels are aligned with the value of CNTIN.
The other channel modes are not compatible with the up-down counter (CPWMS = 1).
Therefore, all FTM channels must be used in CPWM mode when (CPWMS = 1).
FTM counter = CNTIN
counter overflow channel (n) match channel (n) match counter overflow
FTM counter = (FTM counting (FTM counting FTM counter =
MOD is down) is up) MOD
Figure 23-21. CPWM period and pulse width with ELSnB:ELSnA = 1:0
If (ELSnB:ELSnA = 0:0) when the FTM counter reaches the value in the CnV register,
the CHnF bit is set and the channel (n) interrupt is generated (if CHnIE = 1), however the
channel (n) output is not controlled by FTM.
If (ELSnB:ELSnA = 1:0), then the channel (n) output is forced high at the channel (n)
match (FTM counter = CnV) when counting down, and it is forced low at the channel (n)
match when counting up. See the following figure.
MOD = 0x0008 counter counter
CnV = 0x0005 overflow overflow
channel (n) match in channel (n) match in channel (n) match in
down counting up counting down counting
TOF bit
If (ELSnB:ELSnA = X:1), then the channel (n) output is forced low at the channel (n)
match (FTM counter = CnV) when counting down, and it is forced high at the channel (n)
match when counting up. See the following figure.
TOF bit
If (CnV = 0x0000) or CnV is a negative value, that is (CnV[15] = 1), then the channel (n)
output is a 0% duty cycle CPWM signal and CHnF bit is not set even when there is the
channel (n) match.
If CnV is a positive value, that is (CnV[15] = 0), (CnV ≥ MOD), and (MOD ≠ 0x0000),
then the channel (n) output is a 100% duty cycle CPWM signal and CHnF bit is not set
even when there is the channel (n) match. This implies that the usable range of periods
set by MOD is 0x0001 through 0x7FFE, 0x7FFF if you do not need to generate a 100%
duty cycle CPWM signal. This is not a significant limitation because the resulting period
is much longer than required for normal applications.
The CPWM mode must not be used when the FTM counter is a free running counter.
If (ELSnB:ELSnA = 1:0), then the channel (n) output is forced low at the beginning of
the period (FTM counter = CNTIN) and at the channel (n+1) match (FTM counter = C(n
+1)V). It is forced high at the channel (n) match (FTM counter = C(n)V). See the
following figure.
If (ELSnB:ELSnA = X:1), then the channel (n) output is forced high at the beginning of
the period (FTM counter = CNTIN) and at the channel (n+1) match (FTM counter = C(n
+1)V). It is forced low at the channel (n) match (FTM counter = C(n)V). See the
following figure.
In Combine mode, the ELS(n+1)B and ELS(n+1)A bits are not used in the generation of
the channels (n) and (n+1) output. However, if (ELSnB:ELSnA = 0:0) then the channel
(n) output is not controlled by FTM, and if (ELS(n+1)B:ELS(n+1)A = 0:0) then the
channel (n+1) output is not controlled by FTM.
channel (n+1) match
FTM counter
channel (n) match
The following figures illustrate the PWM signals generation using Combine mode.
FTM counter
MOD
C(n+1)V
C(n)V
CNTIN
Figure 23-25. Channel (n) output if (CNTIN < C(n)V < MOD) and (CNTIN < C(n+1)V < MOD)
and (C(n)V < C(n+1)V)
C(n)V
CNTIN
Figure 23-26. Channel (n) output if (CNTIN < C(n)V < MOD) and (C(n+1)V = MOD)
FTM counter
MOD
C(n+1)V
C(n)V = CNTIN
Figure 23-27. Channel (n) output if (C(n)V = CNTIN) and (CNTIN < C(n+1)V < MOD)
FTM counter
MOD = C(n+1)V
C(n)V
CNTIN
Figure 23-28. Channel (n) output if (CNTIN < C(n)V < MOD) and (C(n)V is Almost Equal to
CNTIN) and (C(n+1)V = MOD)
C(n+1)V
C(n)V = CNTIN
Figure 23-29. Channel (n) output if (C(n)V = CNTIN) and (CNTIN < C(n+1)V < MOD) and
(C(n+1)V is Almost Equal to MOD)
FTM counter
C(n+1)V
MOD
CNTIN
C(n)V
Figure 23-30. Channel (n) output if C(n)V and C(n+1)V are not between CNTIN and MOD
MOD
C(n+1)V = C(n)V
CNTIN
Figure 23-31. Channel (n) output if (CNTIN < C(n)V < MOD) and (CNTIN < C(n+1)V < MOD)
and (C(n)V = C(n+1)V)
FTM counter
MOD
C(n)V =
C(n+1)V = CNTIN
CNTIN
C(n)V
C(n+1)V
CNTIN
Figure 23-34. Channel (n) output if (CNTIN < C(n)V < MOD) and (CNTIN < C(n+1)V < MOD)
and (C(n)V > C(n+1)V)
FTM counter
MOD
C(n+1)V
CNTIN
C(n)V
Figure 23-35. Channel (n) output if (C(n)V < CNTIN) and (CNTIN < C(n+1)V < MOD)
C(n)V
CNTIN
C(n+1)V
Figure 23-36. Channel (n) output if (C(n+1)V < CNTIN) and (CNTIN < C(n)V < MOD)
FTM counter
C(n)V
MOD
C(n+1)V
CNTIN
Figure 23-37. Channel (n) output if (C(n)V > MOD) and (CNTIN < C(n+1)V < MOD)
C(n+1)V
MOD
C(n)V
CNTIN
Figure 23-38. Channel (n) output if (C(n+1)V > MOD) and (CNTIN < C(n)V < MOD)
FTM counter
C(n+1)V
MOD = C(n)V
CNTIN
Figure 23-39. Channel (n) output if (C(n+1)V > MOD) and (CNTIN < C(n)V = MOD)
• QUADEN = 0
• DECAPEN = 0
• COMP = 1
In Complementary mode, the channel (n+1) output is the inverse of the channel (n)
output.
So, the channel (n+1) output is the same as the channel (n) output when:
• QUADEN = 0
• DECAPEN = 0
• COMP = 0
channel (n+1) match
FTM counter
channel (n) match
Figure 23-40. Channel (n+1) output in Complementary mode with (ELSnB:ELSnA = 1:0)
FTM counter
channel (n) match
Figure 23-41. Channel (n+1) output in Complementary mode with (ELSnB:ELSnA = X:1)
NOTE
The complementary mode is not available in Output Compare
mode.
In this case, if two or more hardware triggers are enabled (for example, TRIG0 and
TRIG1 = 1) and only trigger 1 event occurs, then only TRIG1 bit is cleared. If a trigger n
event occurs together with a write setting TRIGn bit, then the synchronization is initiated,
but TRIGn bit remains set due to the write operation.
system clock
TRIG0 bit
trigger_0 input
synchronized trigger_0
by system clock
trigger 0 event
Note
All hardware trigger inputs have the same behavior.
If HWTRIGMODE = 1, then the TRIGn bit is only cleared when 0 is written to it.
NOTE
The HWTRIGMODE bit must be 1 only with enhanced PWM
synchronization (SYNCMODE = 1).
If SYNCMODE = 1 then the SWSYNC bit is also cleared by FTM according to the
SWRSTCNT bit. If SWRSTCNT = 0 then SWSYNC bit is cleared at the next selected
loading point after that the software trigger event occurred; see the following figure. If
SWRSTCNT = 1 then SWSYNC bit is cleared when the software trigger event occurs.
system clock
SWSYNC bit
PWM synchronization
selected loading point
up counting mode
begin
legacy =0
PWM synchronization SYNCMODE
bit ?
=1
enhanced PWM synchronization
software hardware
trigger trigger
0= TRIGn
=0
SWSYNC
bit ? bit ?
=1
=1
FTM counter is reset by
software trigger
=0
=1 wait hardware trigger n
SWRSTCNT
bit ?
end end
In the case of legacy PWM synchronization, the MOD register synchronization depends
on PWMSYNC and REINIT bits according to the following description.
If (SYNCMODE = 0), (PWMSYNC = 0), and (REINIT = 0), then this synchronization is
made on the next selected loading point after an enabled trigger event takes place. If the
trigger event was a software trigger, then the SWSYNC bit is cleared on the next selected
loading point. If the trigger event was a hardware trigger, then the trigger enable bit
(TRIGn) is cleared according to Hardware trigger. Examples with software and hardware
triggers follow.
system clock
SWSYNC bit
Figure 23-46. MOD synchronization with (SYNCMODE = 0), (PWMSYNC = 0), (REINIT =
0), and software trigger was used
system clock
TRIG0 bit
trigger 0 event
If (SYNCMODE = 0), (PWMSYNC = 0), and (REINIT = 1), then this synchronization is
made on the next enabled trigger event. If the trigger event was a software trigger, then
the SWSYNC bit is cleared according to the following example. If the trigger event was a
hardware trigger, then the TRIGn bit is cleared according to Hardware trigger. Examples
with software and hardware triggers follow.
system clock
SWSYNC bit
Figure 23-48. MOD synchronization with (SYNCMODE = 0), (PWMSYNC = 0), (REINIT =
1), and software trigger was used
system clock
TRIG0 bit
trigger 0 event
system clock
SWSYNC bit
begin
1= =0
SYNCMODE
no = rising edge
of system bit ?
clock ?
legacy
= yes PWM synchronization
update OUTMASK
with its buffer value
end
update OUTMASK
end with its buffer value
=1
HWTRIGMODE
bit ?
=0
end
system clock
SWSYNC bit
system clock
TRIG0 bit
trigger 0 event
system clock
TRIG0 bit
trigger 0 event
begin
update INVCTRL register at
each rising edge of system clock update INVCTRL register by
PWM synchronization
0= INVC =1
bit ?
1= =0
SYNCMODE
bit ?
no = rising edge
of system end
clock ?
= yes
update INVCTRL
with its buffer value
end
update INVCTRL
wait hardware trigger n
with its buffer value
update INVCTRL
end with its buffer value
=1
HWTRIGMODE
bit ?
=0
end
The SWOCTRL register can be updated at each rising edge of system clock (SWOC = 0)
or by the enhanced PWM synchronization (SWOC = 1 and SYNCMODE = 1) according
to the following flowchart.
In the case of enhanced PWM synchronization, the SWOCTRL register synchronization
depends on SWSOC and HWSOC bits.
begin
update SWOCTRL register at
each rising edge of system clock update SWOCTRL register by
0= =1 PWM synchronization
SWOC
bit ?
1= =0
SYNCMODE
bit ?
no = rising edge
of system end
clock ?
= yes
update SWOCTRL
with its buffer value
end
update SWOCTRL
wait hardware trigger n
with its buffer value
update SWOCTRL
end with its buffer value
=1
HWTRIGMODE
bit ?
=0
end
FTM counter
channel (n) match
synchronization event
The FTM counter synchronization can be done by either the enhanced PWM
synchronization (SYNCMODE = 1) or the legacy PWM synchronization (SYNCMODE
= 0). However, the FTM counter must be synchronized only by the enhanced PWM
synchronization.
In the case of enhanced PWM synchronization, the FTM counter synchronization
depends on SWRSTCNT and HWRSTCNT bits according to the following flowchart.
begin
legacy =0
PWM synchronization SYNCMODE
bit ?
=1
enhanced PWM synchronization
end
=1
HWTRIGMODE
bit ?
=0
end
In the case of legacy PWM synchronization, the FTM counter synchronization depends
on REINIT and PWMSYNC bits according to the following description.
If (SYNCMODE = 0), (REINIT = 1), and (PWMSYNC = 0) then this synchronization is
made on the next enabled trigger event. If the trigger event was a software trigger then
the SWSYNC bit is cleared according to the following example. If the trigger event was a
hardware trigger then the TRIGn bit is cleared according to Hardware trigger. Examples
with software and hardware triggers follow.
system clock
SWSYNC bit
Figure 23-59. FTM counter synchronization with (SYNCMODE = 0), (REINIT = 1),
(PWMSYNC = 0), and software trigger was used
system clock
TRIG0 bit
trigger 0 event
Figure 23-60. FTM counter synchronization with (SYNCMODE = 0), (HWTRIGMODE = 0),
(REINIT = 1), (PWMSYNC = 0), and a hardware trigger was used
system clock
TRIG0 bit
trigger 0 event
Figure 23-61. FTM counter synchronization with (SYNCMODE = 0), (HWTRIGMODE = 0),
(REINIT = 1), (PWMSYNC = 1), and a hardware trigger was used
23.5.12 Inverting
The invert functionality swaps the signals between channel (n) and channel (n+1)
outputs. The inverting operation is selected when:
• QUADEN = 0
• DECAPEN = 0
• COMP = 1, and
• INVm = 1 (where m represents a channel pair)
The INVm bit in INVCTRL register is updated with its buffer value according to
INVCTRL register synchronization
In High-True (ELSnB:ELSnA = 1:0) Combine mode, the channel (n) output is forced low
at the beginning of the period (FTM counter = CNTIN), forced high at the channel (n)
match and forced low at the channel (n+1) match. If the inverting is selected, the channel
(n) output behavior is changed to force high at the beginning of the PWM period, force
low at the channel (n) match and force high at the channel (n+1) match. See the following
figure.
channel (n+1) match
FTM counter
channel (n) match
INVCTRL register
synchronization
INV(m) bit
NOTE
INV(m) bit selects the inverting to the pair channels (n) and (n+1).
Figure 23-62. Channels (n) and (n+1) outputs after the inverting in High-True
(ELSnB:ELSnA = 1:0) Combine mode
Note that the ELSnB:ELSnA bits value should be considered because they define the
active state of the channels outputs. In Low-True (ELSnB:ELSnA = X:1) Combine mode,
the channel (n) output is forced high at the beginning of the period, forced low at the
channel (n) match and forced high at the channel (n+1) match. When inverting is
selected, the channels (n) and (n+1) present waveforms as shown in the following figure.
channel (n+1) match
FTM counter
channel (n) match
INVCTRL register
synchronization
INV(m) bit
NOTE
INV(m) bit selects the inverting to the pair channels (n) and (n+1).
Figure 23-63. Channels (n) and (n+1) outputs after the inverting in Low-True
(ELSnB:ELSnA = X:1) Combine mode
Note
The inverting feature is not available in Output Compare mode.
The CHnOC bit enables the software output control for a specific channel output and the
CHnOCV selects the value that is forced to this channel output.
Both CHnOC and CHnOCV bits in SWOCTRL register are buffered and updated with
their buffer value according to SWOCTRL register synchronization.
The following figure shows the channels (n) and (n+1) outputs signals when the software
output control is used. In this case the channels (n) and (n+1) are set to Combine and
Complementary mode.
channel (n+1) match
FTM counter
channel (n) match
CH(n)OC buffer
CH(n+1)OC buffer
CH(n)OC bit
CH(n+1)OC bit
NOTE
CH(n)OCV = 1 and CH(n+1)OCV = 0.
Figure 23-64. Example of software output control in Combine and Complementary mode
Software output control forces the following values on channels (n) and (n+1) when the
COMP bit is zero.
Table 23-12. Software ouput control behavior when (COMP = 0)
CH(n)OC CH(n+1)OC CH(n)OCV CH(n+1)OCV Channel (n) Output Channel (n+1) Output
0 0 X X is not modified by SWOC is not modified by SWOC
1 1 0 0 is forced to zero is forced to zero
1 1 0 1 is forced to zero is forced to one
1 1 1 0 is forced to one is forced to zero
1 1 1 1 is forced to one is forced to one
Software output control forces the following values on channels (n) and (n+1) when the
COMP bit is one.
Note
• The CH(n)OC and CH(n+1)OC bits should be equal.
• The COMP bit must not be modified when software output
control is enabled, that is, CH(n)OC = 1 and/or CH(n
+1)OC = 1.
• Software output control has the same behavior with
disabled or enabled FTM counter (see the CLKS field
description in the Status and Control register).
when the channel (n+1) match (FTM counter = C(n+1)V) occurs, the channel (n+1)
output remains at the high value until the end of the deadtime delay when the channel (n
+1) output is cleared.
channel (n+1) match
FTM counter
channel (n) match
Figure 23-65. Deadtime insertion with ELSnB:ELSnA = 1:0, POL(n) = 0, and POL(n+1) = 0
FTM counter
channel (n) match
Figure 23-66. Deadtime insertion with ELSnB:ELSnA = X:1, POL(n) = 0, and POL(n+1) = 0
NOTE
• The deadtime feature must be used only in Complementary
mode.
• The deadtime feature is not available in Output Compare
mode.
• and the deadtime delay is greater than or equal to the channel (n) duty cycle ((C(n
+1)V – C(n)V) × system clock), then the channel (n) output is always the inactive
value (POL(n) bit value).
• and the deadtime delay is greater than or equal to the channel (n+1) duty cycle
((MOD – CNTIN + 1 – (C(n+1)V – C(n)V) ) × system clock), then the channel (n+1)
output is always the inactive value (POL(n+1) bit value).
Although, in most cases the deadtime delay is not comparable to channels (n) and (n+1)
duty cycle, the following figures show examples where the deadtime delay is comparable
to the duty cycle.
channel (n+1) match
FTM counter
channel (n) match
Figure 23-67. Example of the deadtime insertion (ELSnB:ELSnA = 1:0, POL(n) = 0, and
POL(n+1) = 0) when the deadtime delay is comparable to channel (n+1) duty cycle
FTM counter
channel (n) match
Figure 23-68. Example of the deadtime insertion (ELSnB:ELSnA = 1:0, POL(n) = 0, and
POL(n+1) = 0) when the deadtime delay is comparable to channels (n) and (n+1) duty
cycle
FTM counter
CHnOM bit
The following table shows the output mask result before the polarity control.
Table 23-14. Output mask result for channel (n) before the polarity control
CHnOM Output Mask Input Output Mask Result
0 inactive state inactive state
active state active state
1 inactive state inactive state
active state
(FFVAL[3:0] 0000)
and (FFLTRnEN*)
FLTnPOL
synchronizer fault input n* value
0
fault input n* D Q D Q fault input
polarity rising edge
control FAULTFn*
Fault filter detector
(5-bit counter) 1
system clock CLK CLK
* where n = 3, 2, 1, 0
If the fault control and fault input n are enabled and a rising edge at the fault input n
signal is detected, a fault condition has occurred and the FAULTFn bit is set. The
FAULTF bit is the logic OR of FAULTFn[3:0] bits. See the following figure.
fault input 0 value
fault input 1 value
FAULTIN
fault input 2 value
fault input 3 value
If the fault control is enabled (FAULTM[1:0] ≠ 0:0), a fault condition has occurred and
(FAULTEN = 1), then outputs are forced to their safe values:
• Channel (n) output takes the value of POL(n)
• Channel (n+1) takes the value of POL(n+1)
The fault interrupt is generated when (FAULTF = 1) and (FAULTIE = 1). This interrupt
request remains set until:
• Software clears the FAULTF bit by reading FAULTF bit as 1 and writing 0 to it
• Software clears the FAULTIE bit
• A reset occurs
FTM counter
FAULTIN bit
FAULTF bit
FTM counter
FAULTIN bit
FAULTF bit
23.5.18 Initialization
The initialization forces the CHnOI bit value to the channel (n) output when a one is
written to the INIT bit.
The initialization depends on COMP and DTEN bits. The following table shows the
values that channels (n) and (n+1) are forced by initialization when the COMP and
DTEN bits are zero.
Table 23-15. Initialization behavior when (COMP = 0 and DTEN = 0)
CH(n)OI CH(n+1)OI Channel (n) Output Channel (n+1) Output
0 0 is forced to zero is forced to zero
0 1 is forced to zero is forced to one
1 0 is forced to one is forced to zero
1 1 is forced to one is forced to one
The following table shows the values that channels (n) and (n+1) are forced by
initialization when (COMP = 1) or (DTEN = 1).
Table 23-16. Initialization behavior when (COMP = 1 or DTEN = 1)
CH(n)OI CH(n+1)OI Channel (n) Output Channel (n+1) Output
0 X is forced to zero is forced to one
1 X is forced to one is forced to zero
Note
The initialization feature must be used only with disabled FTM
counter. See the description of the CLKS field in the Status and
Control register.
FTM counter
QUADEN
DECAPEN
COMBINE(m)
CPWMS
C(n)V
MS(n)B CH(n)OC
generation of channel
channel (n) (n)
output
output signal signal
software deadtime polarity
complementary output fault
initialization inverting output insertion control
mode mask control
control
generation of channel
(n+1)
channel (n+1)
output
output signal signal
C(n+1)V
MS(n+1)B
MS(n+1)A
ELS(n+1)B
ELS(n+1)A
NOTE
The channels (n) and (n+1) are in output compare, EPWM, CPWM or combine modes.
Figure 23-74. Priority of the features used at the generation of channels (n) and (n+1)
outputs signals
Note
The Initialization feature must not be used with Inverting and
Software output control features.
The FTM is able to generate multiple triggers in one PWM period. Because each trigger
is generated for a specific channel, several channels are required to implement this
functionality. This behavior is described in the following figure.
the beginning of new PWM cycles
MOD
(a)
(b)
(c)
(d)
System clock
CnV 0x14
FTM counter 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
• The FTM counter is automatically updated with the CNTIN register value by the
selected counting mode.
• When there is a write to CNT register.
• When there is the FTM counter synchronization.
• If (CNT = CNTIN), (CLKS[1:0] = 0:0), and a value different from zero is written to
CLKS[1:0] bits.
system clock
FTM counter 0x0C 0x0D 0x0E 0x0F 0x00 0x01 0x02 0x03 0x04 0x05
initialization trigger
Figure 23-76. Initialization trigger is generated when the FTM counting achieves the
CNTIN register value
CNTIN = 0x0000
MOD = 0x000F
CPWMS = 0
system clock
FTM counter 0x04 0x05 0x06 0x00 0x01 0x02 0x03 0x04 0x05 0x06
write to CNT
initialization trigger
Figure 23-77. Initialization trigger is generated when there is a write to CNT register
NOTE
The behavior depicted in the Figure 23-77 is not available on
CPWM.
CNTIN = 0x0000
MOD = 0x000F
CPWMS = 0
system clock
FTM counter 0x04 0x05 0x06 0x07 0x00 0x01 0x02 0x03 0x04 0x05
FTM counter
synchronization
initialization trigger
Figure 23-78. Initialization trigger is generated when there is the FTM counter
synchronization
NOTE
The behavior depicted in the Figure 23-78 is not available on
CPWM.
CNTIN = 0x0000
MOD = 0x000F
CPWMS = 0
system clock
CLKS[1:0] bits 00 01
initialization trigger
Figure 23-79. Initialization trigger is generated if (CNT = CNTIN), (CLKS[1:0] = 0:0), and a
value different from zero is written to CLKS[1:0] bits
NOTE
The behavior depicted in the Figure 23-79 is not available on
CPWM.
The initialization trigger output provides a trigger signal that is used for on-chip modules.
When the Capture Test mode is enabled (CAPTEST = 1), the FTM counter is frozen and
any write to CNT register updates directly the FTM counter; see the following figure.
After it was written, all CnV registers are updated with the written value to CNT register
and CHnF bits are set. Therefore, the FTM counter is updated with its next value
according to its configuration. Its next value depends on CNTIN, MOD, and the written
value to FTM counter.
The next reads of CnV registers return the written value to the FTM counter and the next
reads of CNT register return FTM counter next value.
CAPTEST bit
FTM counter 0x1053 0x1054 0x1055 0x1056 0x78AC 0x78AD 0x78AE 0x78AF 0x78B0
write 0x78AC
write to CNT
CHnF bit
0x0300 0x78AC
CnV
NOTE
- FTM counter configuration: (FTMEN = 1), (QUADEN = 0), (CAPTEST = 1), (CPWMS = 0), (CNTIN = 0x0000), and
(MOD = 0xFFFF)
- FTM channel n configuration: input capture mode - (DECAPEN = 0), (COMBINE = 0), and (MSnB:MSnA = 0:0)
23.5.23 DMA
The channel generates a DMA transfer request according to DMA and CHnIE bits. See
the following table.
Table 23-17. Channel DMA transfer request
DMA CHnIE Channel DMA Transfer Request Channel Interrupt
0 0 The channel DMA transfer request is not The channel interrupt is not generated.
generated.
0 1 The channel DMA transfer request is not The channel interrupt is generated if (CHnF = 1).
generated.
1 0 The channel DMA transfer request is not The channel interrupt is not generated.
generated.
If DMA = 1, the CHnF bit is cleared either by channel DMA transfer done or reading
CnSC while CHnF is set and then writing a zero to CHnF bit according to CHnIE bit. See
the following table.
Table 23-18. Clear CHnF bit when DMA = 1
CHnIE How CHnF Bit Can Be Cleared
0 CHnF bit is cleared either when the channel DMA transfer is done or by reading CnSC while CHnF is set and
then writing a 0 to CHnF bit.
1 CHnF bit is cleared when the channel DMA transfer is done.
FTMEN
DECAPEN
is filter DECAP
enabled? channel (n)
MS(n)A CH(n)IE interrupt
ELS(n)B:ELS(n)A
CH(n)F
synchronizer ELS(n+1)B:ELS(n+1)A
0 C(n)V[15:0]
channel (n) input D Q D Q Dual edge capture
mode logic
channel (n+1)
Filter* 1 CH(n+1)IE interrupt
system clock CLK CLK
CH(n+1)F
C(n+1)V[15:0]
FTM counter
* Filtering function for dual edge capture mode is only available in the channels 0 and 2
The MS(n)A bit defines if the Dual Edge Capture mode is one-shot or continuous.
The ELS(n)B:ELS(n)A bits select the edge that is captured by channel (n), and ELS(n
+1)B:ELS(n+1)A bits select the edge that is captured by channel (n+1). If both
ELS(n)B:ELS(n)A and ELS(n+1)B:ELS(n+1)A bits select the same edge, then it is the
period measurement. If these bits select different edges, then it is a pulse width
measurement.
In the Dual Edge Capture mode, only channel (n) input is used and channel (n+1) input is
ignored.
If the selected edge by channel (n) bits is detected at channel (n) input, then CH(n)F bit is
set and the channel (n) interrupt is generated (if CH(n)IE = 1). If the selected edge by
channel (n+1) bits is detected at channel (n) input and (CH(n)F = 1), then CH(n+1)F bit is
set and the channel (n+1) interrupt is generated (if CH(n+1)IE = 1).
The C(n)V register stores the value of FTM counter when the selected edge by channel
(n) is detected at channel (n) input. The C(n+1)V register stores the value of FTM
counter when the selected edge by channel (n+1) is detected at channel (n) input.
In this mode, a coherency mechanism ensures coherent data when the C(n)V and C(n
+1)V registers are read. The only requirement is that C(n)V must be read before C(n
+1)V.
Note
• The CH(n)F, CH(n)IE, MS(n)A, ELS(n)B, and ELS(n)A
bits are channel (n) bits.
• The CH(n+1)F, CH(n+1)IE, MS(n+1)A, ELS(n+1)B, and
ELS(n+1)A bits are channel (n+1) bits.
• The Dual Edge Capture mode must be used with
ELS(n)B:ELS(n)A = 0:1 or 1:0, ELS(n+1)B:ELS(n+1)A =
0:1 or 1:0 and the FTM counter in Free running counter.
In this mode, the DECAP bit is automatically cleared by FTM when the edge selected by
channel (n+1) is captured. Therefore, while DECAP bit is set, the one-shot capture is in
process. When this bit is cleared, both edges were captured and the captured values are
ready for reading in the C(n)V and C(n+1)V registers.
Similarly, when the CH(n+1)F bit is set, both edges were captured and the captured
values are ready for reading in the C(n)V and C(n+1)V registers.
positive polarity pulse width. The CH(n)F bit is set when the first edge of this pulse is
detected, that is, the edge selected by ELS(n)B:ELS(n)A bits. The CH(n+1)F bit is set
and DECAP bit is cleared when the second edge of this pulse is detected, that is, the edge
selected by ELS(n+1)B:ELS(n+1)A bits. Both DECAP and CH(n+1)F bits indicate when
two edges of the pulse were captured and the C(n)V and C(n+1)V registers are ready for
reading.
4 8 12 16 20 24
3 28
7 11 15 19
FTM counter 23 27
2 6 10 14 18 22 26
1 5 9 13 17 21 25
DECAPEN bit
set DECAPEN
DECAP bit
set DECAP
C(n)V 1 3 5 7 9 15 19
CH(n)F bit
clear CH(n)F
C(n+1)V 2 4 6 8 10 16 20 22 24
CH(n+1)F bit
clear CH(n+1)F
problem 1 problem 2
Note
- The commands set DECAPEN, set DECAP, clear CH(n)F, and clear CH(n+1)F are made by the user.
- Problem 1: channel (n) input = 1, set DECAP, not clear CH(n)F, and clear CH(n+1)F.
- Problem 2: channel (n) input = 1, set DECAP, not clear CH(n)F, and not clear CH(n+1)F.
Figure 23-82. Dual Edge Capture – One-Shot mode for positive polarity pulse width
measurement
The following figure shows an example of the Dual Edge Capture – Continuous mode
used to measure the positive polarity pulse width. The DECAPEN bit selects the Dual
Edge Capture mode, so it remains set. While the DECAP bit is set the configured
measurements are made. The CH(n)F bit is set when the first edge of the positive polarity
pulse is detected, that is, the edge selected by ELS(n)B:ELS(n)A bits. The CH(n+1)F bit
is set when the second edge of this pulse is detected, that is, the edge selected by ELS(n
+1)B:ELS(n+1)A bits. The CH(n+1)F bit indicates when two edges of the pulse were
captured and the C(n)V and C(n+1)V registers are ready for reading.
4 8 12 16 20 24 28
3 7 11 15 19
FTM counter 23 27
2 6 10 14 18 22 26
1 5 9 13 17 21 25
DECAPEN bit
set DECAPEN
DECAP bit
set DECAP
C(n)V 1 3 5 7 9 11 15 19 21 23
CH(n)F bit
clear CH(n)F
C(n+1)V 2 4 6 8 10 12 16 20 22 24
CH(n+1)F bit
clear CH(n+1)F
Note
- The commands set DECAPEN, set DECAP, clear CH(n)F, and clear CH(n+1)F are made by the user.
Figure 23-83. Dual Edge Capture – Continuous mode for positive polarity pulse width
measurement
The period measurement can be made in One-Shot Capture mode or Continuous Capture
mode.
The following figure shows an example of the Dual Edge Capture – One-Shot mode used
to measure the period between two consecutive rising edges. The DECAPEN bit selects
the Dual Edge Capture mode, so it remains set. The DECAP bit is set to enable the
measurement of next period. The CH(n)F bit is set when the first rising edge is detected,
that is, the edge selected by ELS(n)B:ELS(n)A bits. The CH(n+1)F bit is set and DECAP
bit is cleared when the second rising edge is detected, that is, the edge selected by ELS(n
+1)B:ELS(n+1)A bits. Both DECAP and CH(n+1)F bits indicate when two selected
edges were captured and the C(n)V and C(n+1)V registers are ready for reading.
4 8 12 16 20 24
3 28
7 11 15 19 23
FTM counter 2 6 27
10 14 18
1 22 26
5 9 13 17 21 25
DECAPEN bit
set DECAPEN
DECAP bit
set DECAP
C(n)V 1 3 5 6 7 14 17 18 20 27
CH(n)F bit
clear CH(n)F
C(n+1)V 2 4 6 7 9 15 18 20 23 26
CH(n+1)F bit
clear CH(n+1)F
Note
- The commands set DECAPEN, set DECAP, clear CH(n)F, and clear CH(n+1)F are made by the user.
- Problem 1: channel (n) input = 0, set DECAP, not clear CH(n)F, and not clear CH(n+1)F.
- Problem 2: channel (n) input = 1, set DECAP, not clear CH(n)F, and clear CH(n+1)F.
- Problem 3: channel (n) input = 1, set DECAP, not clear CH(n)F, and not clear CH(n+1)F.
Figure 23-84. Dual Edge Capture – One-Shot mode to measure of the period between
two consecutive rising edges
The following figure shows an example of the Dual Edge Capture – Continuous mode
used to measure the period between two consecutive rising edges. The DECAPEN bit
selects the Dual Edge Capture mode, so it remains set. While the DECAP bit is set the
configured measurements are made. The CH(n)F bit is set when the first rising edge is
detected, that is, the edge selected by ELS(n)B:ELS(n)A bits. The CH(n+1)F bit is set
when the second rising edge is detected, that is, the edge selected by ELS(n+1)B:ELS(n
+1)A bits. The CH(n+1)F bit indicates when two edges of the period were captured and
the C(n)V and C(n+1)V registers are ready for reading.
4 8 12 16 20 24 28
3 7 11 15 19 23
FTM counter 2 6 10 14
27
18 22 26
1 5 9 13 17 21 25
DECAPEN bit
set DECAPEN
DECAP bit
set DECAP
C(n)V 1 3 5 6 7 8 9 10 11 12 14 15 16 18 19 20 21 22 23 24 26
CH(n)F bit
clear CH(n)F
C(n+1)V 2 4 6 7 8 9 10 11 12 13 15 16 17 19 20 21 22 23 24 25 27
CH(n+1)F bit
clear CH(n+1)F
Note
- The commands set DECAPEN, set DECAP, clear CH(n)F, and clear CH(n+1)F are made by the user.
Figure 23-85. Dual Edge Capture – Continuous mode to measure of the period between
two consecutive rising edges
+1) are in Dual Edge Capture – Continuous mode for positive polarity pulse width
measurement. Thus, the channel (n) is configured to capture the FTM counter value when
there is a rising edge at channel (n) input signal, and channel (n+1) to capture the FTM
counter value when there is a falling edge at channel (n) input signal.
When a rising edge occurs in the channel (n) input signal, the FTM counter value is
captured into channel (n) capture buffer. The channel (n) capture buffer value is
transferred to C(n)V register when a falling edge occurs in the channel (n) input signal.
C(n)V register has the FTM counter value when the previous rising edge occurred, and
the channel (n) capture buffer has the FTM counter value when the last rising edge
occurred.
When a falling edge occurs in the channel (n) input signal, the FTM counter value is
captured into channel (n+1) capture buffer. The channel (n+1) capture buffer value is
transferred to C(n+1)V register when the C(n)V register is read.
In the following figure, the read of C(n)V returns the FTM counter value when the event
1 occurred and the read of C(n+1)V returns the FTM counter value when the event 2
occurred.
event 1 event 2 event 3 event 4 event 5 event 6 event 7 event 8 event 9
FTM counter 1 2 3 4 5 6 7 8 9
channel (n) 1 3 5 7 9
capture buffer
C(n)V 1 3 5 7
channel (n+1) 2 4 6 8
capture buffer
C(n+1)V 2
C(n)V register must be read prior to C(n+1)V register in dual edge capture one-shot and
continuous modes for the read coherency mechanism works properly.
CH0FVAL[3:0]
synchronizer CNTIN
0
MOD
phase A input D Q D Q filtered phase A signal
PHAPOL PHBPOL
Filter 1
system clock CLK CLK FTM counter
enable
FTM counter up/down
direction
PHBFLTREN
CH1FVAL[3:0]
synchronizer TOFDIR QUADIR
0
phase B input D Q D Q
filtered phase B signal
Filter 1
CLK CLK
Each one of input signals phase A and B has a filter that is equivalent to the filter used in
the channels input; Filter for Input Capture mode. The phase A input filter is enabled by
PHAFLTREN bit and this filter’s value is defined by CH0FVAL[3:0] bits
(CH(n)FVAL[3:0] bits in FILTER0 register). The phase B input filter is enabled by
PHBFLTREN bit and this filter’s value is defined by CH1FVAL[3:0] bits (CH(n
+1)FVAL[3:0] bits in FILTER0 register).
Except for CH0FVAL[3:0] and CH1FVAL[3:0] bits, no channel logic is used in
Quadrature Decoder mode.
Note
Notice that the FTM counter is clocked by the phase A and B
input signals when quadrature decoder mode is selected.
Therefore it is expected that the Quadrature Decoder be used
only with the FTM channels in input capture or output compare
modes.
Note
An edge at phase A must not occur together an edge at phase B
and vice-versa.
The PHAPOL bit selects the polarity of the phase A input, and the PHBPOL bit selects
the polarity of the phase B input.
The QUADMODE selects the encoding mode used in the Quadrature Decoder mode. If
QUADMODE = 1, then the count and direction encoding mode is enabled; see the
following figure. In this mode, the phase B input value indicates the counting direction,
and the phase A input defines the counting rate. The FTM counter is updated when there
is a rising edge at phase A input signal.
phase B (counting direction)
FTM counter
increment/decrement +1 +1 +1 +1 +1 +1 +1 +1 -1 -1 -1 -1 -1
FTM counter
MOD
CNTIN
0x0000
Time
If QUADMODE = 0, then the Phase A and Phase B Encoding mode is enabled; see the
following figure. In this mode, the relationship between phase A and B signals indicates
the counting direction, and phase A and B signals define the counting rate. The FTM
counter is updated when there is an edge either at the phase A or phase B signals.
If PHAPOL = 0 and PHBPOL = 0, then the FTM counter increment happens when:
• there is a rising edge at phase A signal and phase B signal is at logic zero;
• there is a rising edge at phase B signal and phase A signal is at logic one;
• there is a falling edge at phase B signal and phase A signal is at logic zero;
• there is a falling edge at phase A signal and phase B signal is at logic one;
phase A
phase B
FTM counter
increment/decrement +1 +1 +1 +1 +1 +1 +1 +1 -1 -1 -1 -1 -1 -1 -1 +1 +1 +1 +1 +1 +1 +1 +1 -1 -1 -1 -1 -1 -1 -1 +1 +1 +1 +1 +1 +1 +1
FTM counter
MOD
CNTIN
0x0000
Time
The following figure shows the FTM counter overflow in up counting. In this case, when
the FTM counter changes from MOD to CNTIN, TOF and TOFDIR bits are set. TOF bit
indicates the FTM counter overflow occurred. TOFDIR indicates the counting was up
when the FTM counter overflow occurred.
phase A
phase B
FTM counter +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1
increment/decrement
FTM counter
MOD
CNTIN
0x0000
Time
set TOF set TOF
set TOFDIR set TOFDIR
Figure 23-90. FTM Counter overflow in up counting for Quadrature Decoder mode
The following figure shows the FTM counter overflow in down counting. In this case,
when the FTM counter changes from CNTIN to MOD, TOF bit is set and TOFDIR bit is
cleared. TOF bit indicates the FTM counter overflow occurred. TOFDIR indicates the
counting was down when the FTM counter overflow occurred.
phase A
phase B
FTM counter
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
increment/decrement
FTM counter
MOD
CNTIN
0x0000
Time
set TOF set TOF
clear TOFDIR clear TOFDIR
Figure 23-91. FTM counter overflow in down counting for Quadrature Decoder mode
phase B
FTM counter
MOD
CNTIN
0x0000
Time
The following figure shows motor jittering produced by the phase B and A pulses
respectively:
phase A
phase B
FTM counter
MOD
CNTIN
0x0000
Time
Figure 23-93. Motor position jittering near maximum and minimum count value
The first highlighted transition causes a jitter on the FTM counter value near the
maximum count value (MOD). The second indicated transition occurs on phase A and
causes the FTM counter transition between the maximum and minimum count values
which are defined by MOD and CNTIN registers.
The appropriate settings of the phase A and phase B input filters are important to avoid
glitches that may cause oscillation on the FTM counter value. The preceding figures
show examples of oscillations that can be caused by poor input filter setup. Thus, it is
important to guarantee a minimum pulse width to avoid these oscillations.
(a)
(b)
(c)
(d)
(e)
(f)
NOTE
(a) LDOK = 0, CH0SEL = 0, CH1SEL = 0, CH2SEL = 0, CH3SEL = 0, CH4SEL = 0, CH5SEL = 0, CH6SEL = 0, CH7SEL = 0
(b) LDOK = 1, CH0SEL = 0, CH1SEL = 0, CH2SEL = 0, CH3SEL = 0, CH4SEL = 0, CH5SEL = 0, CH6SEL = 0, CH7SEL = 0
(c) LDOK = 0, CH0SEL = 0, CH1SEL = 0, CH2SEL = 0, CH3SEL = 1, CH4SEL = 0, CH5SEL = 0, CH6SEL = 0, CH7SEL = 0
(d) LDOK = 1, CH0SEL = 0, CH1SEL = 0, CH2SEL = 0, CH3SEL = 0, CH4SEL = 0, CH5SEL = 0, CH6SEL = 1, CH7SEL = 0
(e) LDOK = 1, CH0SEL = 1, CH1SEL = 0, CH2SEL = 1, CH3SEL = 0, CH4SEL = 1, CH5SEL = 0, CH6SEL = 1, CH7SEL = 0
(f) LDOK = 1, CH0SEL = 1, CH1SEL = 1, CH2SEL = 1, CH3SEL = 1, CH4SEL = 1, CH5SEL = 1, CH6SEL = 1, CH7SEL = 1
After enabling the loading points, the LDOK bit must be set for the load to occur. In this
case, the load occurs at the next enabled loading point according to the following
conditions:
Table 23-20. Conditions for loads occurring at the next enabled loading point
When a new value was written Then
To the MOD register The MOD register is updated with its write buffer value.
To the CNTIN register and CNTINC = 1 The CNTIN register is updated with its write buffer value.
To the C(n)V register and SYNCENm = 1 – where m indicates The C(n)V register is updated with its write buffer value.
the pair channels (n) and (n+1)
To the C(n+1)V register and SYNCENm = 1 – where m The C(n+1)V register is updated with its write buffer value.
indicates the pair channels (n) and (n+1)
NOTE
• If ELSjB and ELSjA bits are different from zero, then the
channel (j) output signal is generated according to the
configured output mode. If ELSjB and ELSjA bits are zero,
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
NXP Semiconductors 1283
Functional description
gtb_in
gtb_in
gtb_out
The GTB functionality is implemented by the GTBEEN and GTBEOUT bits in the
CONF register, the input signal gtb_in, and the output signal gtb_out. The GTBEEN bit
enables gtb_in to control the FTM counter enable signal:
• If GTBEEN = 0, each one of FTM modules works independently according to their
configured mode.
• If GTBEEN = 1, the FTM counter update is enabled only when gtb_in is 1.
In the configuration described in the preceding figure, FTM modules A and B have their
FTM counters enabled if at least one of the gtb_out signals from one of the FTM modules
is 1. There are several possible configurations for the interconnection of the gtb_in and
gtb_out signals, represented by the example glue logic shown in the figure. Note that
these configurations are chip-dependent and implemented outside of the FTM modules.
See the chip-specific FTM information for the chip's specific implementation.
NOTE
• In order to use the GTB signals to synchronize the FTM
counter of different FTM modules, the configuration of
each FTM module should guarantee that its FTM counter
starts counting as soon as the gtb_in signal is 1.
• The GTB feature does not provide continuous
synchronization of FTM counters, meaning that the FTM
counters may lose synchronization during FTM operation.
The GTB feature only allows the FTM counters to start
their operation synchronously.
The following figure shows the FTM behavior after the reset. At the reset (item 1), the
FTM counter is disabled (see the description of the CLKS field in the Status and Control
register), its value is updated to zero and the pins are not controlled by FTM (See the
table in the description of CnSC register).
After the reset, the FTM should be configurated (item 2). It is necessary to define the
FTM counter mode, the FTM counting limits (MOD and CNTIN registers value), the
channels mode and CnV registers value according to the channels mode.
Thus, it is recommended to write any value to CNT register (item 3). This write updates
the FTM counter with the CNTIN register value and the channels output with its initial
value (except for channels in output compare mode) (Counter reset).
The next step is to select the FTM counter clock by the CLKS[1:0] bits (item 4). It is
important to highlight that the pins are only controlled by FTM when CLKS[1:0] bits are
different from zero (See the table in the description of CnSC register).
(3) write any value
(1) FTM reset to CNT register (4) write 1 to SC[CLKS]
FTM counter XXXX 0x0000 0x0010 0x0011 0x0012 0x0013 0x0014 0x0015 0x0016 0x0017 0x0018 . . .
CLKS[1:0] XX 00 01
NOTES:
– CNTIN = 0x0010
– Channel (n) is in low-true combine mode with CNTIN < C(n)V < C(n+1)V < MOD
– C(n)V = 0x0015
Figure 23-96. FTM behavior after reset when the channel (n) is in Combine mode
The following figure shows an example when the channel (n) is in Output Compare mode
and the channel (n) output is toggled when there is a match. In the Output Compare
mode, the channel output is not updated to its initial value when there is a write to CNT
register (item 3). In this case, use the software output control (Software output control) or
the initialization (Initialization) to update the channel output to the selected value (item
4).
FTM counter XXXX 0x0000 0x0010 0x0011 0x0012 0x0013 0x0014 0x0015 0x0016 0x0017 . . .
CLKS[1:0] XX 00 01
NOTES:
– CNTIN = 0x0010
– Channel (n) is in output compare and the channel (n) output is toggled when there is a match
– C(n)V = 0x0014
Figure 23-97. FTM behavior after reset when the channel (n) is in Output Compare mode
• If the SWOC is used (SWSOC = 1 and SWOC = 1), then write to SWOCTRL
register.
• If the Inverting is used (SWINVC = 1 and INVC = 1), then write to INVCTRL
register.
• Write to OUTMASK to enable the masked channels.
• Generate the Software Trigger Write to SYNC (SWSYNC = 1, TRIG2 = 0, TRIG1 =
0, TRIG0 = 0, SYNCHOM = 1, REINIT = 0, CNTMAX = 0, CNTMIN = 0)
1. GPIO signals are typically multiplexed with other signals. “Supported” in this context means that any signal multiplexing
configuration has selected GPIO functionality. See the Signals chapter for signal multiplexing details.
GPIO[n]
GPDAT
Register
To/From Register
Peripheral Bus Interface
GPDIR/
GPODR
GPIER/ Registers
GPIMR/
gpio_int
GPICR
Registers
In general, the GPIO module supports up to 32 general-purpose I/O ports. Each port can
be configured as an input or as an output. However, some implementations may restrict
specific ports to input-only, output-only, or reserved (unimplemented). See "The GPIO
module as implemented on the chip" section for more information. If a port is configured
as an input, it can optionally generate an interrupt upon detection of a change. If a port is
configured as an output, it can be individually configured as an open-drain or a fully
active output.
The programmable register map for the GPIO module occupies 28 bytes of memory-
mapped space. The full register address is comprised of the base address (specified in
CCSR address space) plus the module base address, plus the specific register's offset
within the module. The table below shows the memory map for the GPIO module.
All GPIO registers are 32 bits wide located on 32-bit address boundaries. Note that
reading undefined portions of the memory map returns all zeros and writing has no effect.
24.5.2.1 Offset
Register Offset
GPDIR 0h
24.5.2.2 Function
The GPIO direction register (GPDIR) defines the direction of the individual ports.
24.5.2.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
DRn
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
DRn
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24.5.2.4 Fields
Field Function
0-31 Direction. Indicates whether a pin is used as an input or an output.
DRn 00000000000000000000000000000000b - The corresponding pin is an input.
00000000000000000000000000000001b - The corresponding pin is an output.
24.5.3.1 Offset
Register Offset
GPODR 4h
24.5.3.2 Function
The GPIO open drain register (GPODR) defines the way individual ports drive their
output.
24.5.3.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
ODn
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
ODn
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24.5.3.4 Fields
Field Function
0-31 Open drain configuration. Indicates whether a signal is actively driven as an output or is an open-drain
driver. This register has no effect on signals programmed as inputs in GPDIR.
ODn
00000000000000000000000000000000b - The corresponding signal is actively driven as an
output.
00000000000000000000000000000001b - The corresponding signal is an open-drain driver. As an
output, the signal is driven active-low, otherwise it is not driven (high impedance).
24.5.4.1 Offset
Register Offset
GPDAT 8h
24.5.4.2 Function
The GPIO data register (GPDAT) carries the data in/out for the individual ports.
24.5.4.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Dn
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Dn
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24.5.4.4 Fields
Field Function
0-31 Data. Writes to this register latches the data which is presented on the external pins provided the
corresponding GPDIR bit is configured as an output. When GPDIR is in output mode, GPDAT read
Dn
operation returns data at pin. When GPDIR is in input mode, GPDAT read operation returns state of the
port.
24.5.5.1 Offset
Register Offset
GPIER Ch
24.5.5.2 Function
The GPIO interrupt event register (GPIER) carries information of the events that caused
an interrupt. Each bit in GPIER, corresponds to an interrupt source. GPIER bits are
cleared by writing ones. However, writing zero has no effect.
NOTE
Some implementations may ignore the interrupt mask as
configured in GPIMR. In these implementations, a GPIER bit
can be set even though the associated interrupt is masked. See
The "GPIO module as implemented on the chip" section for
more information.
24.5.5.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R EVn
W W1C
Reset u u u u u u u u u u u u u u u u
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R EVn
W W1C
Reset u u u u u u u u u u u u u u u u
24.5.5.4 Fields
Field Function
0-31 Interrupt events. Indicates whether an interrupt event occurred on the corresponding GPIO signal.
EVn 00000000000000000000000000000000b - No interrupt event occurred on the corresponding GPIO
signal.
00000000000000000000000000000001b - An interrupt event occurred on the corresponding GPIO
signal.
24.5.6.1 Offset
Register Offset
GPIMR 10h
24.5.6.2 Function
The GPIO interrupt mask register (GPIMR) defines the interrupt masking for the
individual ports. When a masked interrupt request occurs, the corresponding GPIER bit is
set, regardless of the GPIMR state. When one or more non-masked interrupt events
occur, the GPIO module issues an interrupt to the interrupt controller.
24.5.6.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
IMn
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
IMn
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24.5.6.4 Fields
Field Function
0-31 Interrupt mask. Indicates whether an interrupt event is masked or not masked for the corresponding
GPIO signal.
IMn
00000000000000000000000000000000b - The input interrupt signal is masked (disabled).
00000000000000000000000000000001b - The input interrupt signal is not masked (enabled).
24.5.7.1 Offset
Register Offset
GPICR 14h
24.5.7.2 Function
The GPIO interrupt control register (GPICR) determines whether the corresponding port
line asserts an interrupt request upon either a high-to-low change or any change on the
state of the signal.
24.5.7.3 Diagram
Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
EDn
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
EDn
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24.5.7.4 Fields
Field Function
0-31 Edge detection mode. The corresponding port line asserts an interrupt request according to the following:
EDn 00000000000000000000000000000000b - Any change on the state of the port generates an
interrupt request.
00000000000000000000000000000001b - High-to-low change on the port generates an interrupt
request.
Programming interface to
system bus IFC clock
Clock control
module
GPCM
Programming Generic
registers ASIC FSM
Normal GPCM
FSM
NOR FCM
Data External
interface Data machine interface
to system Flash interface
bus arbiter
NAND FCM
NAND
async FCM
NAND Data
BCH encoder
Path
Error-fixing
BCH decoder
64-bit SRAM (1r1w) logic
Bus
Key Single signal line
Slave bus signal
WP0
WP1
WP2
WP3
WP4 WP0
WP5
WP6
For the 22-bit address mode, the first three write protect signals WP_B[0:2] are directly
sourced by the three write protect signals from the IFC block which correspond to chip
selects 0-2, respectively. The fourth write protect signal (WP_B[3]) is sourced by the
logical OR of the remaining four write protect signals from the IFC block which
correspond to chip selects 3-6. This allows for some flexibility in controlling write
protection to individual or groups of NAND flash devices.
WP0 WP0
WP1 WP1
WP2 WP2
WP3
WP4
WP3
WP5
WP6
RB1 RB1
RB0
RB2
RB3
RB4 RB0
RB5
RB6
For the 22-/25-bit address mode:RB[0:2]_B is directly routed to the ready/busy inputs of
the IFC block which correspond to chip selects 0-2. The fourth ready/busy signal RB3_B
is routed to the ready/busy inputs of the IFC block which correspond to chip selects 3-6 .
Note that If IFC_CS_B[5] is used, then IFC_RB_B[3] cannot be used and vice-versa.
This configuration allows for four banks of flash to be fully optimized from a
performance perspective, while leaving one additional ready/busy for one or more ASICs
or lower performance tier of flash devices.
RB0 RB0
RB1 RB1
RB2 RB2
RB3
RB4
RB5 RB3
RB6
The IFC is allocated 8 KB of memory-mapped space. The memory map is divided into
two parts (4 KB each):
• Common registers shared by NAND, NOR, and GPCM FCM
• Specific registers defined for the NAND FCM, NOR FCM (IFC global), and GPCM
FCM (IFC run time) exclusively
IFC memory map
Absolute
Width Section/
address Register name Access Reset value
(in bits) page
(hex)
153_0000 IFC Revision Control register (IFC_REV) 32 R See section 25.3.1/1322
153_000C Extended Chip Select Property registers (IFC_CSPR0_EXT) 32 R/W 0000_0000h 25.3.2/1323
153_0010 Chip-select Property register n (IFC_CSPR0) 32 R/W 0000_0000h 25.3.3/1323
153_0018 Extended Chip Select Property registers (IFC_CSPR1_EXT) 32 R/W 0000_0000h 25.3.2/1323
153_001C Chip-select Property register n (IFC_CSPR1) 32 R/W 0000_0000h 25.3.3/1323
153_0024 Extended Chip Select Property registers (IFC_CSPR2_EXT) 32 R/W 0000_0000h 25.3.2/1323
153_0028 Chip-select Property register n (IFC_CSPR2) 32 R/W 0000_0000h 25.3.3/1323
153_0030 Extended Chip Select Property registers (IFC_CSPR3_EXT) 32 R/W 0000_0000h 25.3.2/1323
153_0034 Chip-select Property register n (IFC_CSPR3) 32 R/W 0000_0000h 25.3.3/1323
153_003C Extended Chip Select Property registers (IFC_CSPR4_EXT) 32 R/W 0000_0000h 25.3.2/1323
153_0040 Chip-select Property register n (IFC_CSPR4) 32 R/W 0000_0000h 25.3.3/1323
153_0048 Extended Chip Select Property registers (IFC_CSPR5_EXT) 32 R/W 0000_0000h 25.3.2/1323
153_004C Chip-select Property register n (IFC_CSPR5) 32 R/W 0000_0000h 25.3.3/1323
153_0054 Extended Chip Select Property registers (IFC_CSPR6_EXT) 32 R/W 0000_0000h 25.3.2/1323
153_0058 Chip-select Property register n (IFC_CSPR6) 32 R/W 0000_0000h 25.3.3/1323
153_00A0 Address Mask register (IFC_AMAS0K) 32 R/W 0000_0000h 25.3.4/1325
Table continues on the next page...
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R REV_MAJ REV_MIN
Reserved Reserved Reserved
W
Reset 0 0 0 0 0 0 n n 0 0 0 0 n n n n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The extended chip select property register (CSPRn_EXT) contains the extended base
address, that is, the most significant bits (msb) of the base address.
Address: 153_0000h base + Ch offset + (12d × i), where i=0d to 6d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved BA_EXT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reserved
Reserved PS WP TE MSEL V
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
00 Reserved
01 8 bit
10 16 bit
11 Reserved
25 Write Protect:
WP
NOTE: 1. This bit is valid only for NAND and NOR; for GPCM this bit should not be set.
NOTE: 2. If CS0 is used for booting from NAND or NOR, CSPR0[WP] will be set (write protected).
Software must clear this bit after completing the boot operation to permit write operations on CS0
NOTE
Chip select 0 (CS0) is used for boot purposes; if the boot source
is NOR, then it must be executed in place. During booting, the
IFC registers (including BA_EXT, BA, and AMASK registers)
are modified. If there is race condition between the update of
BA_EXT, BA, and AMASK registers, a chip select error may
occur. To avoid this error and to map every transaction in CS0
during boot, the upper 8 bits of the system address and the base
address, will be masked before comparison. Masking of these
fields is turned off only after the first write transaction modifies
the AMASK0 register.
After reset, until a first write transaction occurs to update AMASK0 register, all the
transactions coming from the system side will always be mapped to CS0. After receiving
the first write transaction to update AMASK0, the chip select decoding logic will work as
per the above mentioned equation.
The table below shows memory bank size from 64 KB to 4 GB.
Table 25-3. Memory Bank Sizes in Relation to Address Mask
AM Memory Bank Size
0000_0000_0000_0000 4 GBytes
1000_0000_0000_0000 2 Gbytes
1100_0000_0000_0000 1 Gbytes
1110_0000_0000_0000 512 MB
1111_0000_0000_0000 256 MB
1111_1000_0000_0000 128 MB
1111_1100_0000_0000 64 MB
1111_1110_0000_0000 32 MB
1111_1111_0000_0000 16 MB
1111_1111_1000_0000 8 MB
1111_1111_1100_0000 4 MB
1111_1111_1110_0000 2 MB
1111_1111_1111_0000 1 MB
1111_1111_1111_1000 512 KB
1111_1111_1111_1100 256 KB
1111_1111_1111_1110 128 KB
1111_1111_1111_1111 64 KB
R
ECC_ENC_EN
ECC_DEC_EN
Reserved
Reserved
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
Reserved
BCTLD
NAND_
SPRZ Reserved PB TRHZ
MODE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
00 1 byte
01 2 bytes
10 3 bytes
11 4 bytes
9–10 This field is reserved.
-
11–12 Page Size
PGS
00 512 Bytes
01 2 KB
10 4 KB
11 8 KB
13–15 This field is reserved.
-
16–18 Spare size
SPRZ
NOTE: Depending on the ECC mode and page size, a fixed value of the spare region is selected during
boot. For more information, see Booting methods.
Others Reserved
Table continues on the next page...
000 32 Pages
001 64 Pages
010 128 Pages
011 256 Pages
100 512 Pages
24 This field is reserved.
-
25–26 NAND mode of operation
NAND_MODE
Others Reserved
00 Asynchronous mode
01 NVDDR
10 Reserved
11 Reserved
27–29 Time for read enable high to output high impedance (Z). Number of clocks required for memory to go in
TRHZ high-Z after read enable deassertion.
This field is used during last read data access. If the IFC is accessing the NAND flash for a read operation,
then after the last byte is read the NAND FSM must wait for TRHZ clock cycles so that there is no
contention on the external buffer.
Other settings are Reserved.
AVD_TGL_PGM_EN
ADM_SHFT_MODE
R
PGRD_EN
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
NOR_MODE
Reserved
BCTLD
ADM_SHFT Reserved TRHZ
Reset n n n 0 0 0 0 0 0 0 0 0 1 1 0 0
0 Address msbs will be assigned to AD bus and ADDR bus carries the lsb
1 AD bus will carry lsbs and ADDR bus carries the msb
1–2 This field is reserved.
-
3 Page read enable from NOR device
PGRD_EN
Table continues on the next page...
0 A multi-beat read transaction received from system bus will be split into per-beat accesses (based on
NOR port size).
1 A multi-beat read transaction received from system bus will be performed as a single-page read
operation (burst type) on NOR flash.
4–6 This field is reserved.
-
7 AVD toggle enable during burst program
AVD_TGL_
PGM_EN 0 Assert AVD only for the first address phase (performed on the flash interface) of a burst write
operation received from the system interface
1 Assert AVD during every subsequent address phase (performed on the flash interface) including the
first phase of a burst write operation received from the system interface
8–13 This field is reserved.
-
14–18 Address data multiplexing shift. It controls the way internal 32 bit address is placed on the external bus,
ADM_SHFT during NOR/GPCM address phase. Address shifting will be done by 1 bit.
Patterns not shown are reserved.
During reset, in case the RCW source is from NOR then,
if cfg_rcw_src[6:7]=00 (00 22b addressability) then ADM_SHFT = 10
if cfg_rcw_src[6:7]=01 (00 25b addressability) then ADM_SHFT = 7
if cfg_rcw_src[6:7]=10 (00 28b addressability) then ADM_SHFT = 4
00000 No shift
00001 shift ifc_addr by 1
00010 shift ifc_addr by 2
00011 shift ifc_addr by 3
00100 shift ifc_addr by 4
00101 shift ifc_addr by 5
00110 shift ifc_addr by 6
00111 shift ifc_addr by 7
01000 shift ifc_addr by 8
01001 shift ifc_addr by 9
01010 shift ifc_addr by 10
01011 shift ifc_addr by 11
01100 shift ifc_addr by 12
01101 shift ifc_addr by 13
01110 shift ifc_addr by 14
01111 shift ifc_addr by 15
10000 shift ifc_addr by 16
10001 shift ifc_addr by 17
10010 shift ifc_addr by 18
10011 shift ifc_addr by 19
10100 shift ifc_addr by 20
ABRT_RSP_EN
GPMODE
Reserved
PAR_EN
WGETA
RGETA
PAR GPTO Reserved ADM_SHFT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
Reserved
BCTLD
ADM_SHFT BURST_LEN GAPERRD Reserved TRHZ
Reset 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
0 Abort mode. GPCM write access is terminated if IFCTA_B asserts before expiry of TWP counter in
case of single beat transaction. If IFCTA_B is asserted during burst write the current transaction is
aborted and only after deassertion of IFCTA_B it will be resumed. Details are given in Normal GPCM
program operation, Figure 25-46. Note that in abort mode no error is reported for write transaction.
1 Acknowledgement mode: GPCM write access is acknowledged/qualified by external pin IFCTA_B
assertion. If it is not asserted within CSOR[GPTO] time, GPCM_EVTER_STAT[TOER] will be set
14–18 Address data multiplexing shift:
ADM_SHFT
Left shift the flash address by this value and assign it to address data multiplexed bus (AD[0:15]) ifc_data.
By this method, the address msbs will be assigned to address data muxed bus that can be latched by
asserting the AVD/ALE signal.
00000 No shift
Table continues on the next page...
00 1 IFC_CLK delayed
01 2 IFC_CLK delayed
10 3 IFC_CLK delayed
11 4 IFC_CLK delayed
25–26 This field is reserved.
-
27–29 Time for read enable high to output high impedance (Z)- Number of clocks required for memory to go in
TRHZ high Z after read enable deassertion.
Table continues on the next page...
R
Reserved
SEL
Reserved MODE_FREQ
Reset 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved SPARE_BYTES_CSn
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000 20 MHz
001 33 MHz
010 50 MHz
011 66 MHz
100 83 MHz
101 100 MHz
110 Reserved
111 Reserved
16–20 This field is reserved.
-
21–31 No. of bytes in spare region. This filed is applicable only when corresponding CSORn[SPRZ] is 3'h110.
SPARE_BYTES_
Others Reserved.
CSn
0x000 0 Spare region bytes
0x001 1 Spare region byte
...
0x400 1024 spare region bytes
0x7FE 2046 spare region bytes
The following figure shows the FTIM0_CSn fields when CSPRn[MSEL] selects the
NAND flash mode and CSORn[NAND MODE] selects NAND flash async mode.
Address: 153_0000h base + 1C0h offset + (48d × i), where i=0d to 6d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
Reserved TCS Reserved TCAD
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000000 Reserved
000001 1 IFC module input clock
000010 2 IFC module input clocks
...
111111 63 IFC module input clocks
16–31 This field is reserved.
-
The following register shows the FTIM0_CSn fields when CSPRn[MSEL] selects the
NAND Flash Mode and CSORn[NAND_MODE] selects NAND Flash Asynchronous
Mode.
Address: 153_0000h base + 1C0h offset = 153_01C0h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
Reserved
Reserved
TCCST TWP
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000000 Reserved
000001 1 IFC module input clock
000010 2 IFC module input clocks
...
111111 63 IFC module input clocks
The following figure shows the FTIM0_CSn fields when CSPRn[MSEL] selects the
NOR flash mode.
Address: 153_0000h base + 1C0h offset + (48d × i), where i=0d to 6d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
TACSE Reserved TEADC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved TAVDS Reserved TEAHC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000000 Reserved
000001 1 IFC module input clock
000010 2 IFC module input clocks
...
111111 63 IFC module input clocks
16–17 This field is reserved.
-
18–23 Delay between CS assertion to AVD/ALE assertionin AVD devices (address latch internal to the device)
TAVDS
000000 Reserved
000001 1 IFC module input clock
000010 2 IFC module input clocks
...
111111 63 IFC module input clocks
24–25 This field is reserved.
-
26–31 Latch address hold cycles.
TEAHC
000000 Reserved
000001 1 IFC module input clock
000010 2 IFC module input clocks
...
111111 63 IFC module input clocks
The following figure shows the FTIM0_CSn fields when CSPRn[MSEL] selects the
GPCM mode.
Address: 153_0000h base + 1C0h offset + (48d × i), where i=0d to 6d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
TACSE Reserved TEADC Reserved TEAHC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000000 Reserved
000001 1 IFC module input clock
000010 2 IFC module input clocks
...
111111 63 IFC module input clocks
16–25 This field is reserved.
-
26–31 External latch address hold cycles: Address hold cycle relative to external latch enable signal
TEAHC
000000 Reserved
000001 1 IFC module input clock
000010 2 IFC module input clocks
...
111111 63 IFC module input clocks
The following figure shows the FTIM1_CSn fields when CSPRn[MSEL] selects the
NAND flash mode.
Address: 153_0000h base + 1C4h offset + (48d × i), where i=0d to 6d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
TADLE TWB
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved TRR TWRCK
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The following figure shows the FTIM1_CSn fields when CSPRn[MSEL] selects the
NAND flash asynchronus mode.
Address: 153_0000h base + 1C4h offset + (48d × i), where i=0d to 6d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
TADLE TWBE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved TRR TRP
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The following figure shows the FTIM1_CSn fields when CSPRn[MSEL] selects the
NOR flash mode.
Address: 153_0000h base + 1C4h offset + (48d × i), where i=0d to 6d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
TACO Reserved TRAD_NOR TSEQRAD_NOR
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
00000000 Reserved
00000001 1 IFC module input clock
00000010 2 IFC module input clocks
...
11111111 255 IFC module input clocks
8–15 This field is reserved.
-
16–23 NOR flash read access delay: It represents the read enable to data access time plus total round trip board
TRAD_NOR delay from the external NOR flash memory during read operation. Its value can be calculated as Read
data access time considering data gets sampled in the mid of data eye + 2* Board Delay + 2 .
00000000 Reserved
00000001 1 IFC module input clock
00000010 2 IFC module input clocks
...
11111111 255 IFC module input clocks
24–31 NOR flash sequential read access delay. It represents the address to data access time plus total round
TSEQRAD_NOR trip delay from the external NOR flash memory during sequential read operation. Its value can be
calculated as [NOR Page Address Delay (max) for sequential read + 2*Board Delay + Device Setup
Time].
Table continues on the next page...
The following figure shows the FTIM1_CSn fields when CSPRn[MSEL] and
CSOPn[GPMODE] selects the normal GPCM mode.
Address: 153_0000h base + 1C4h offset + (48d × i), where i=0d to 6d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
TACO Reserved TRAD Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000000 Reserved
000001 1 IFC module input clock
000010 2 IFC module input clocks
...
111111 63 IFC module input clocks
24–31 This field is reserved.
-
00000000 Reserved
00000001 1 IFC module input clock
00000010 2 IFC module input clocks
...
11111111 255 IFC module input clocks
11–14 This field is reserved.
-
15–20 RE_B High Time
TREH
000000 Reserved
000001 1 IFC module input clock
000010 2 IFC module input clocks
...
111111 63 IFC module input clocks
21–23 This field is reserved.
-
24–31 WE_B High to RE_B Low Effective
TWHRE
00000000 Reserved
00000001 1 IFC module input clock
00000010 2 IFC module input clocks
...
11111111 255 IFC module input clocks
The following figure shows the FTIM2_CSn fields when CSPRn[MSEL] selects the
NOR flash mode.
Address: 153_0000h base + 1C8h offset + (48d × i), where i=0d to 6d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
Reserved TCS Reserved TCH Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
TWPH Reserved TWP
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The following figure shows the FTIM2_CSn fields when CSPRn[MSEL] selects the
normal GPCM mode.
Address: 153_0000h base + 1C8h offset + (48d × i), where i=0d to 6d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
Reserved TCS Reserved TCH Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved TWP
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25.3.21 Flash Timing register 3 for Chip Select n - NAND Flash Mode
(IFC_FTIM3_CSn_NAND)
The following figure shows the FTIM3_CSn fields when CSPRn[MSEL] selects the
NAND flash NVDDRmode.
Address: 153_0000h base + 1CCh offset + (48d × i), where i=0d to 6d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
TWW Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
00000000 Reserved
00000001 1 IFC module input clock
00000010 2 IFC module input clocks
...
11111111 255 IFC module input clocks
8–31 This field is reserved.
-
The following figure shows the FTIM3_CSn fields when CSPRn[MSEL] selects the
NAND flash asynchronous mode.
Address: 153_0000h base + 1CCh offset + (48d × i), where i=0d to 6d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
TWW Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
00000000 Reserved
00000001 1 IFC module input clock
00000010 2 IFC module input clocks
...
11111111 255 IFC module input clocks
8–31 This field is reserved.
-
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000000 Reserved
000001 1 IFC module input clock
000010 2 IFC module input clocks
...
111111 63 IFC module input clocks
6–31 This field is reserved.
-
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reset n n n n 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SOFT_RST_
R
ALL
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
TBCTL_TRN_TIME Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 No Software reset
1 Assert Software reset
1–15 This field is reserved.
-
16–20 It represents the turnaround time of external buffer in terms of number of IFC module input clock cycles.
TBCTL_TRN_ BCTL should be kept high for these many clock cycles before issuing a write transaction after a read on
TIME flash interface. See Data buffer control (BCTL) for more details.
21–31 This field is reserved.
-
Common event and error status register (CM_EVTER_STAT) indicates the cause of an
error or event that cannot be classified in NAND, NOR, and GPCM.
Address: 153_0000h base + 418h offset = 153_0418h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R CSER
Reserved
W w1c
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register is used to enable/disable the logging of event and error indication in the
CM_EVTER_STAT register.
Address: 153_0000h base + 424h offset = 153_0424h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
CSEREN
Reserved
W
Reset 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CSERIREN
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
ERTYP
R ERAID
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R ERSRCID
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R ERADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reset 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
INV_CLK_EN
Reserved
W
Reset 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0000 Reserved
0001 Divide by 2
0010 Divide by 3
0011 Divide by 4
0100 Reserved
0101
0110 Reserved
0111 Divide by 8
1000 Reserved
1001 Reserved
1010 Reserved
1011 Reserved
1100 Reserved
1101 Reserved
1110 Reserved
1111 Reserved
8–11 This field is reserved.
-
12–15 IFC Clock Delay
CLK_DLY
This field specifies the number of IFC module input clocks by which external clock is delayed.
0000 No delay
0001 1 IFC module input clocks delay introduced
0010 2 IFC module input clocks delay introduced
...
1111 15 IFC module input clocks delay introduced
16 IFC Clock Inversion
INV_CLK_EN
This field specifies whether IFC clock is inverted before sending out.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CLK_STAT
Reserved
Reset n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 Clock is unstable
1 Clock is stable
1–31 This field is reserved.
-
This register is used for programming the clock divider when NV-DDR interface is at
frequencies up to 100 MHz.
Address: 153_0000h base + 454h offset = 153_0454h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
GLOBAL_DDR_CLK_EN
PGM_DDR_CLK_STOP
R
Reserved
TDQSS
Reserved DDR_LOW_CLKDIV Reserved Reserved
Reset 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R SINGLE_DATA_MODE
SRAM_INIT_EN
Reserved
Reserved
BOOT
ADDR_
Reserved Reserved
MODE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 NAND FCM is operating in normal functional mode, with a 16-KB FCM buffer RAM. In this case
normal SRAM buffer mapping applies.
1 Flash is accessed in boot mode. SRAM buffer mapping gets changed and whole 8 KB NAND flash
main area in the buffer looks as contiguous linear addressable memory region. This bit is set by
hardware when por_cfg_rcw_load or por_cfg_boot_load occurs with NAND as bootable device.
1 This field is reserved.
-
2 SRAM Initialization Enable
SRAM_INIT_EN
This bit is provided to trigger the auto initialization of complete SRAM with FF data. Software must set this
bit before initiating first program operation on NAND post reset. IFC clears this bit after finishing this
operation.
Table continues on the next page...
NOTE: 1 NUM_LOOP value should be programmed carefully as it is restricted by SRAM buffer size. We
support 16-page operation for small page, 4-page operation for large page of size 2 KB and 2-
page operations for 4 KB page size. Hence NUM_LOOP value of 0000-1111 is only valid for
small page; for 2 KB page size NUM_LOOP 0000-0011 are valid values; and for 4-KB page size
NUM_LOOP value 0000 and 0001 are valid.
NOTE: 3 Ensure that separate SRAM buffers should be allocated during consecutive runs of
NUM_LOOP else the data from the previous iteration will be overwritten and produce incorrect
results.
The NAND flash command registers hold up to 8 NAND flash EEPROM command bytes
that may be referenced by opcodes in NAND_FIR during FCM operation. The values of
the commands should follow the manufacturer's datasheet for the relevant NAND flash.
Address: 153_0000h base + 1014h offset = 153_1014h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
CMD0 CMD1 CMD2 CMD3
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
CMD4 CMD5 CMD6 CMD7
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ROWn registers are used for addressing the NAND flash memory. These registers are
used as per the field NCFGR1[ADDR_MODE]. ROWn register holds the row address to
be issued on NAND flash interface using address phase. CSORn[RAL] field determines
the number of bits to be issued to the flash from ROW register during row address phase.
Address: 153_0000h base + 103Ch offset + (16d × i), where i=0d to 3d
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
RA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved CA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 Data is transferred to/from the main region of the SRAM buffer; that is, the first 512 bytes of the buffer
are used.
1 Data is transferred to/from the spare region of the SRAM buffer; that is, the second 512 bytes of the
buffer are used, but only an initial 16 bytes of spare region are defined.
1–18 This field is reserved.
-
19–31 Column Address
CA
This register holds the column address to be issued on flash during column address phase.
CA indexes the first byte to transfer to/from the main or spare region of the NAND flash EEPROM and
corresponding transfer buffer. In the case that NAND_BC[BC] = 0, CA is treated as 0.
For MS = 0, CA can range 0x0000-0x1FF; for MS = 1, CA can range 0x000-0x00F.
For a 16-bit port size, the least significant bit of the Column Address is assumed to be zero; hence, the
Column Address remains a byte index at all times.
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved CA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved CA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved CA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register defines the NAND flash data block transfer size.
Address: 153_0000h base + 1108h offset = 153_1108h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved BC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
NOTE: BC = 0 is the only setting that permits flash controller to generate and check ECC.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
OP0 OP1 OP2
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
OP2 OP3 OP4 Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
OP5 OP6 OP7
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
OP7 OP8 OP9 Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
W
OP10 OP11 OP12
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
OP12 OP13 OP14 Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register tells the NAND FCM about the selected chip-select on which a program or
read operation has to be performed. As NAND flash is accessed through an SRAM buffer
(memory-mapped), software tells the NAND FCM which chip-select is desired using this
register.
Address: 153_0000h base + 115Ch offset = 153_115Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved CSEL Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
AUTO_PGM
NAND_FIR_
R
AUTO_ERS
AUTO_CPB
STRT
Reserv
Reserved Reserved Reserved
ed
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
AUTO_STAT_RD
R
AUTO_RD
Reserv
Reserved Reserved
ed
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
NOTE: The FIR sequence executed is {CW0, RA0, CMD1, and NOOP}
9–10 This field is reserved.
-
11 Automatic program
AUTO_PGM
Writing 1 to this register bit triggers automatic program operation
NOTE: The FIR sequence executed is {CW0, CA0, RA0, WBCD, CMD1, and NOOP}. This sequence will
not support small page program, hence user cannot use auto program for small page device.
12–13 This field is reserved.
-
14 Automatic copyback
AUTO_CPB
Writing 1 to this register bit triggers automatic copy back operation
NOTE: The FIR sequence executed is {CW0, CA0, RA0, CMD1, CW2, CA1, RA1, CMD3, CW4,
RDSTAT, and NOOP}
15–16 This field is reserved.
-
17 Automatic read operation
AUTO_RD
Writing 1 to this register bit triggers automatic read operation
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
ECCER
FTOER
WPER
OPC
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
BBI_SRCH_SEL
BOOT_DN
RCW_DN
R
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
NOTE: 2. This bit is set even if a flash timeout, ECC or write protect error occurs. For example, if a flash
timeout error is detected for a read operation intiated on the NAND flash memory device, IFC will
dump BC bytes worth of garbage data from the NAND flash interface into the internal SRAM and
set this bit. Similarly, in case of NAND write protect error, IFC asserts chip select and sends the
program data to NAND device, it is device which ignores the data as write protect signal is
asserted. User must wait for operation completion (poll for OPC bit getting set) even in case of
timeout before initiating next operation.
As the transaction goes into NAND, OPC will be set at the end of FIR execution. OPC bit indicates that all
the instructions in the FIRs have been executed. Also, it implies that OPC should be polled first and then
FSR for completion.
0 Read bad block indicator (BBI) corresponding to page0 and page1 of each block of the NAND flash
device connected at chipselect 0, to identify the first good block during auto-boot
1 Read bad block indicator (BBI) corresponding to page0 and the last page of each block of the NAND
flash device connected at chipselect 0, to identify the first good block during auto-boot
21–31 This field is reserved.
-
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R SEC_DONE
Reserved
W w1c
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
NOTE: Event interrupt will be generated when one complete page read is done. Software has to read the
corresponding page from SRAM buffer and clear the bits from this register. For example if page
size is 2 KB and page 0 is being written in SRAM buffer, then SEC_DONE[0:15] will be
16'HF000, now software has to write the data 16'HF000 in this register to clear it.
16–31 This field is reserved.
-
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
PGRDCMPLEN
ECCEREN
FTOEREN
WPEREN
Reserved
Reserved
OPCEN
Reserved
Reset 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
PGRDCMPLIREN
R ECCERIREN
FTOERIREN
WPERIREN
OPCIREN
Reserved
Reserved
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
ERTTYPE
R ERCS
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R ER_ROWAD
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Flash status register (NAND_FSR) contains read status data from NAND flash.
Address: 153_0000h base + 11E0h offset = 153_11E0h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R RS0 RS1
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
NOTE
1. These registers will be updated whenever decoder is enable
(ECC_DEC_EN =1’b1) irrespective of ECC Error Event
Indication is enabled or not (ECCEREN).
2. With the clearing of NAND_EVTER_STAT[ECCER]
register bit the contents of ECCSTAT0/1/2/3 registers will
also be cleared. These registers will also be cleared with
soft_reset.
3. For every NAND sequence start, all the ECCSTAT
registers will be cleared. It is implemented in order to flush
the previously logged information.
Address: 153_0000h base + 11E8h offset = 153_11E8h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R NUMER0 NUMER1
Reserved Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R NUMER2 NUMER3
Reserved Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ECC Status Register (ECCSTAT1) is used to store the number of ECC errors occured on
Sector 4-7 during page read operation.
Address: 153_0000h base + 11ECh offset = 153_11ECh
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R NUMER4 NUMER5
Reserved Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R NUMER6 NUMER7
Reserved Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ECC Status Register (ECCSTAT1) is used to store the number of ECC errors occured on
Sector 8-11 during page read operation.
Address: 153_0000h base + 11F0h offset = 153_11F0h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ECC Status Register (ECCSTAT3) is used to store the number of ECC errors occured on
Sector 12-15 during page read operation.
Address: 153_0000h base + 11F4h offset = 153_11F4h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved FTOCNT Reserved
Reset 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R 0
Reserved
Reserved
BOOT_LD
RCW_LD
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 No RCW loading
1 Trigger RCW load from NAND flash (same functionality that can be achieved by sending pulse on
por_cfg_rcw_load)
0 No BOOT loading
1 Trigger autoboot loading from NAND flash (same functionality that can be achieved by sending pulse
on por_cfg_boot_load)
3–31 This field is reserved.
-
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R RDATA0 RDATA1
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This registers is used to configure the DLL used to facilitate the shifiting on the incoming
DQS to the centre of the data eye during read operations. This register is used to
configure the DLL for interface frequency upto 133 MHz (based on
CSOR_EXT[MODE_FREQ])
Address: 153_0000h base + 1300h offset = 153_1300h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
DLL_ENABLE
DLL_RESET
Reserved
W
Reset 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This registers is used to configure the DLL used to facilitate shifiting of the incoming
DQS to the centre of the data eye during read operations.This register is used to configure
the DLL for interface frequency upto 133 Mhz (based on CSOR_EXT[MODE_FREQ])
Address: 153_0000h base + 1304h offset = 153_1304h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
DLL_PD_PULSE_
STRETCH_SEL
Reserved DLL_REF_UPDATE_INT
Reset 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved DLL_SLV_UPDATE_INT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register is used to store the status of the DLL for interface frequency upto 133 MHz
Address: 153_0000h base + 130Ch offset = 153_130Ch
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
DLL_STS_REF_LOCK
DLL_STS_SLV_LOCK
R DLL_STS_REF_SEL
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R DLL_STS_REF_SEL DLL_STS_SLV_SEL
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
OPC_NOR
STOER
WPER
R
Reserved
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
OPCEN_NOR
STOEREN
WPEREN
Reserved
Reserved Reserved
Reset 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
OPCIREN_NOR
STOERIREN
WPERIREN
Reserved
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R ERSRCID ERAID
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
ERTYPE
R ERAID ERCS
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R ERADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
ER_NUM_ ER_NUM_
R
Reserved PHASE_EXP Reserved PHASE_PER Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0000 1 Phase
0001 2 Phase
...
1111 16 Phases
16–19 This field is reserved.
-
20–23 Actual no. of command sequence phases performed on NOR flash before timeout occured
ER_NUM_
PHASE_PER NOTE: This attribute is valid only for sequence timeout error
0000 0 Phase
0001 1 Phase
...
1111 15 Phases
24–31 This field is reserved.
-
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
W
Reserved NUM_PHASE Reserved STOCNT Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0000 1 phase
0001 2 phase
0010 3 phase
0011 4 phase
0100 5 phase
0101 6 phase
0110 7 phase
0111 8 phase
1000 9 phase
1001 10 phase
1010 11 phase
1011 12 phase
1100 13 phase
1101 14 phase
1110 15 phase
1111 16 phase
8–11 This field is reserved.
-
12–15 Sequence Timeout Count
STOCNT
NOTE: This counter is used for timeout on sequential transactions on command based NOR.
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
TOER
ABER
R PER
Reserved
Reserved
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 No Timeout Error
1 Timeout observed for read/write transaction.
6 This field is reserved.
-
7 Parity Error
PER
0 No Parity Error
1 Parity Error for read/write transaction.
8 This field is reserved.
-
9 Abort Error. Abort for Normal GPCM mode will only be observed if access is terminated by IFCTA_B when
ABER CSORn[RGETA] is programmed to 0. It is valid for read transaction and no error is reported for write
transaction.
0 No abort error
1 Abort happened for the current read transaction
10–31 This field is reserved.
-
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reserved
Reserved
TOEREN
ABEREN
PEREN
Reserved Reserved
Reset 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
TOERIREN
ABERIREN
PERIREN
Reserved
Reserved
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R ERSRCID ERAID
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
ERTYPE
R ERAID ERCS
Reserved Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R ERADDR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
PERR_AD
R PERR_BEAT PERR_BYTE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 Address phase
1 Data Phase
This register is used to reflect the busy status of the GPCM controller.
Address: 153_0000h base + 1830h offset = 153_1830h
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
GPCM_BSY
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Reserved
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PERR_L PERR_L
PAR[0:1] PAR[1:0]
CE[3]_B CS_L
RDY_L
ASIC
AD
SOF_L
RW_L
CLK
IFC_CLK CLK
PAR[0:1]
RDY_BSY2_B/
IFCTA/RDY_L TA
CE[2]_B CE_B
External GPCM
Latch
ADDR
WE[0:1]_B
OE_B
DATA
IFC
WP_B
ADDR ADDR
CE[0]_B CE_B
WE0/SOF_L WE_B NOR
FLASH
OE_B/RE_B/RW_L OE_B
AD_8/16 DATA
RDY_BSY0_B RDY/BSY_B
RDY_BSY1_B RDY/BSY_B
WP1_B I/O
WP0_B RE_B
WP2_B
WE_B
WP3_B
WP_B
NAND
CE[1] CE_B FLASH
WE1/CLE CLE
AVD_ALE ALE
BCTL
CE[4]_B
RDY_BSY3_B
CE[5]_B
CE[6]_B
CE[7]_B
RDY_BSY4_B
Figure 25-6. Flash memory interface and muxing (with NVDDR NAND)
The IFC supports the following types of flash control machines (FCMs):
• NOR FCM provides interfacing with NOR flash memories that have a 8-/16-bit-wide
data bus. NOR FCM-controlled banks are used primarily for booting (direct memory-
mapped) and code storage.
• The NAND FCM interfaces to NAND flash EEPROMs with 8- and 16-bit data
buses. If NAND is chosen as the booting device, after reset, the NAND FCM can
load boot code into SRAM buffer for execution. Following boot, the NAND FCM
provides a flexible instruction sequencer that allows a user-defined command,
address, and data transfer sequence of up to 15 steps to be executed against a
memory-mapped buffer RAM. An advance ECC algorithm (BCH codes) is
implemented to correct up to 4-/8-bit errors per sector of 512 bytes and 24/40 bit
erros per 1KB sector.
• GPCM provides an interface to simple, synchronous, memory-mapped devices.
Each memory bank can be assigned to any of these types of machines through the
machine-select bits of the chip-select property register for that chip-select
(CSPRn[MSEL]).
The IFC provides muxing of the address and data bits on the same bus (AD), where the
muxing is controlled by the AVD/ALE signal. There are two modes supported to supply,
either address msbs (most significant bits) or lsbs (least significant bits) on AD bus.
Chip-select register field CSORn[ADM_SHFT_MODE] determines the mode of address-
data pin muxing for the chip. The pin-muxing modes are described in Mode 0 pin muxing
(CSORn[ADM_SHFT_MODE] = 0) and Mode 1 pin muxing
(CSORn[ADM_SHFT_MODE] = 1).
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
System Address A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Intermittent Shifted X X X X X
A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31
System Address
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
AD Bus at IP A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 X X X X X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Address Bus at IP A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Exposed AD Bus
A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20
at SoC (Pins)
16 17 18 19 20 21 22 23 24 25 26
Exposed ADDR
A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31
Bus at SoC (Pins)
Figure 25-7. System address assignment with CSORn[ADM_SHFT]= 5 for ADM MODE 0
These figures show a x8 and x16 memory connection for the configuration given above,
where the shift value is 5.
NOTE
These figures are intended to be examples only and may show
ADDR pins that are not supported.
AD0
A26
Latch x8 NOR
(128 MB)
SoC AD15
A11
A16
A10
A26
A0
Address lsbs
For a x16 memory connection, since the memory expects a 26-bit word address, the
address lsb is left unconnected at the board to supply the word address.
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
NXP Semiconductors 1425
IFC functional description
AD0
A25
A16
A9
A25
A0
NC
A26
Address lsbs
Example 1: The chip has exposed a 32-bit AD bus and x8 ADM NOR of 128 MB is
connected through it.
In this example, ADM_SHFT does not have any role as the chip has not exposed the
ADDR bus and all address bits are available through the AD bus.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
System address 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Shifted system
address based on 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
AD bus at IP 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Exposed AD bus
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
at SoC (ball)
Figure 25-10. Example 1 - System address assignment to the AD bus for ADM MODE 1
AD31
NC
AD27
NC
AD26
A26
x8
SoC ADM
AD8 A8
AD7
AD7
AD0
AD0
AVD_B
NOTE
The board connections are in decrementing (reverse) bit order
for the ADM NOR only.
Example 2: The chip has exposed a 32-bit AD bus and x16 ADM NOR of 128 MB is
connected through it.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
System address 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Shifted system
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
address based on
port size
(word address)
Swap address bits and assign to AD bus
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
AD bus at IP 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 x
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Exposed AD bus
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 x
at SoC (Ball)
Figure 25-12. Example 2 - System address assignment to the AD bus for ADM MODE 1
AD31
NC
AD26
NC
AD25
A25
x16
SoC AD16 A16 ADM
AD15
AD15
AD0
AD0
AVD_B
Figure 25-13. Example 2 - Connection of x16 ADM NOR for ADM MODE 1
Based on the port size, the address is generated such that the proper word address goes to
the memory, unlike conventional NOR (ADM MODE 0). The lsb cannot be left
unconnected as they are carried by AD[0] and is also used in the data phase.
Example 3: The chip has exposed a 16-bit AD bus, 11-bit ADDR bus, and x8 ADM
NOR of 128 MB is connected through it.
In this example, ADM_SHFT=5 is required to align the system address msb with the
right-most ADDR index as shown in the figure below.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
System address 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Word address
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
based on
port size CSPR[PS]
Swap address bits and assign to AD bus
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
AD bus at IP 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
ADDR bus at IP x x x x x 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Exposed AD bus
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
at SoC (ball)
16 17 18 19 20 21 22 23 24 25 26
Figure 25-14. Example 3 - System address assignment to the AD and ADDR bus for ADM
MODE 1
A26
A26
A16 A16
AD15
A15
x8
ADM
SoC AD8 A8
NOR
AD7
AD7
AD0
AD0
AVD_B
Example 4: The chip has exposed a 16-bit AD bus, 11-bit ADDR bus, and x16 ADM
NOR of 128 MB is connected through it.
In this example, ADM_SHFT=5 is required to align the system address msb with the
right-most ADDR index as shown below.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
System address 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Shifted system
address based on x 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
AD bus at IP 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 x
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
ADDR bus at IP x x x x x 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Exposed AD bus
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15
at SoC (ball)
16 17 18 19 20 21 22 23 24 25 26
Figure 25-16. Example 4 - System address assignment to AD and ADDR bus for ADM
MODE 1
A26
NC
A25
A25
x16
ADM
SoC A16 A16 NOR
AD15
AD15
AD0
AD0
AVD_B
Figure 25-17. Example 4 - Connection of x16 ADM NOR for ADM MODE 1
NOTE
Timing of AVD and AVD_B is same. Both are generated by
the same logic except they are opposite in polarity. If the chip is
only exposing AVD and not exposing AVD_B, then it can be
generated by using an on-board inverter and can be used for
interfacing with ADM NOR.
NOTE
BCTL is a static value; it cannot be programmed on the fly.
If the access is a write, BCTL remains high for the whole duration. However, if the
access is a read, BCTL is negated (low) so that the memory device is able to drive the
bus. Note that the default (reset and bus idle) value of BCTL is also high.
While accessing slow memories, the data driven by the flash is available on the bus after
deassertion of read enable. To avoid bus contention, BCTL remains low (read mode) for
the time defined by the CSORn[TRHZ] field.
Apart from CSORn[TRHZ], another signal timing that requires attention during the
external buffer control is buffer turn-around. The external buffer takes time to reverse the
direction of the shared I/O bus. This situation is more relevant when a read is followed by
a write. To handle this, GCR[TBCTL_TRN_TIME] is defined, which represents the time
for which BCTL remains high before starting another flash access. The timings are
shown in the following figures.
ip_clk
CE_B
CLE
AVD/ALE
WE_B
RB_B
RE_B
SAMPL
BCTL
TBCTL_TRN_TIME
TRHZ
Figure 25-18. BCTL signal in NAND read followed by any other operation
ip_clk
AVD
CS_B
OE_B
Sample
BCTL
TRHZ TBCTL_TRN_TIME
Figure 25-19. BCTL signal in NOR read followed by any other operation
samples the TE pin in order to know the polarity of external transceiver's enable pin.
With rcw_load/boot_load, the value stored in CSPR0[TE] as the default value will be
opposite of the polarity of external transceiver's enable pin. Therefore, the polarity of
external transceiver's enable pin is configurable with the help of pull up/down
resistors.
Table 25-6. Programming of
CSPRn[TE]
Transceiver Enable (TE) Input Value of CSPRn[TE]
Slow Memory Fast Memory
Active low 0 1
Active high 1 0
As a NAND device is not directly memory-mapped like a NOR device and is accessed
through the instruction register (FIR), hence there is no prior information of the type of
operation to be performed on the NAND. Thus, assert chip-select even if the device is
write-protected and expect the device to ignore the write data sent.
ip_clk
CS_B
CLE
WE_B
TWW
WP_B
For synchronous mode, when cleared to zero, the WP_B signal disables the flash array
program and erase operations. This signal should only be transitioned while there are no
commands executing on the device. After modifying the value of WP, the host should not
issue a new command to the device for at least tWW delay time. The transition of the
WP_B signal is asynchronous and unrelated to any CLK transition in the source
synchronous data interface. The following figure shows the write protect timing
requirement for source synchronous mode. The figure above shows the timing details.
ip_clk
IFC_DDR_CLK
CE#
tWW
WP#
CLE
CMD0
DQ[7:0]
• NAND program: The user must fill the complete program data in the IFC's SRAM
buffer before setting the trigger on the IFC to start the data transfer from the SRAM
buffer to the NAND flash. When the trigger is set to transfer the data to a NAND
device, the SRAM buffer must not be accessed for either read or write. Accessing the
SRAM buffer during this time may result in undesirable outcome. The user must wait
for the current program operation to complete before accessing the SRAM buffer for
the next operation.
• NAND read: When the trigger is set in the IFC, the read data coming from the
NAND device is stored in an SRAM buffer. In this operation, the SRAM buffer
should not be accessed until the event-completion flag is set.
25.5.5.2 Buffer layout and page mapping for 512-byte page NAND
flash
The FCM buffer space is divided into 1-KB buffers for 512-byte-page devices
(CSORn[PGS] = 00), mapped as shown in the figure below.
The EEPROM's page numbered P is associated with buffer number (P mod 16), where P
= ROWn. Because the bank size set by AMASKn[AM] is greater than 16 KB, an
identical image of the FCM buffer RAM appears replicated every 16 KB throughout the
bank address space.
In the case where NAND_BC[BC] = 0, FCM transfers an entire page, comprising the
512-byte main region followed by the 16-byte spare region; the 496-byte reserved region
is not accessed and remains undefined for software. However, for commands given a
specific byte-count in NAND_BC[BC], COLn[MS] locates the starting address in either
the main region (MS = 0) or the spare region (MS = 1).
Replicated FCM
Buffer RAM
Images in Bank
End of Bank
25.5.5.3 Buffer layout and page mapping for 2-KB page NAND flash
The FCM buffer space is divided into four 4 KB buffers for 2-KB page devices
(CSORn[PGS] = 01).
Each page in a 2 KB-page NAND flash comprises 2112 bytes, where 2048 bytes appear
as main-region data and 64 bytes as spare-region data. The EEPROM's page numbered P
is associated with buffer number (P mod 4), where P = ROWn. Because the bank size set
by AMASKn[AM] is greater than 16 KB, an identical image of the FCM buffer RAM
appears replicated every 16 KB throughout the bank address space.
If NAND_BC[BC] = 0, the FCM transfers an entire page comprising the 2048-byte main
region followed by the 64-byte spare region; the 1984-byte reserved region is not
accessed, and remains undefined for software. However, for commands given a specific
byte count in NAND_BC[BC], COLn[MS] locates the starting address in either the main
region (MS = 0) or the spare region (MS = 1). When different IFC banks control both
page devices, a 4 KB-page buffer must be assigned to either the first four or last four 512-
byte page buffers.
0X1000
Main 2K Byte
Main Page
Buffer 1 / Page1
0X2000
Spare 64 Byte Spare
Buffer 2 / Page2
Reserve Reserved
0X3000 (1984 Bytes)
Buffer 3 / Page2
0X4000
Replicated FCM
Buffer RAM
Images in Bank
End of Bank
25.5.5.4 Buffer layout and page mapping for 4 KB page NAND flash
The FCM buffer space is divided into two 8 KB buffers for 4 KB-page devices
(CSORn[PGS] = 10).
Each page in a NAND flash comprises 4224 bytes, where 4096 bytes appear as main
region data and 128 bytes as spare region data. The EEPROM's page numbered P is
associated with buffer number (P mod 2), where P = ROWn. Because the bank size set by
AMASKn[AM] is greater than 16 KB, an identical image of the FCM buffer RAM
appears replicated every 16 KB throughout the bank address space.
If NAND_BC[BC] = 0, FCM transfers an entire page comprising the 4096-byte main
region followed by the CSORn[SPRZ]-byte spare region.
Buffer 0 / Page0
0x2000
Spare Region
Spare
(SPRZ Bytes)
0x4000
Replicated FCM
Buffer RAM
Images in Bank
End of Bank
25.5.5.5 Buffer layout and page mapping for 8 KB page NAND flash
The FCM buffer space is divided into single 8 KB buffers for 8 KB large-page devices
(CSORn[PGS] = 11).
Each page in a large-page NAND flash comprises 8192 + spare region bytes, where 8192
bytes appear as main region data, and spare region bytes appear as spare region data.
Because the bank size set by AMASKn[AM] will be greater than 16 KB, an identical
image of the FCM buffer RAM appears replicated every 16 KB throughout the bank
address space.
If NAND_BC[BC] = 0, the FCM transfers an entire page comprising the 8192-byte main
region followed by the CSORn[SPRZ]-byte spare region.
Buffer #0
/ Page0
Spare Region
Spare (SPRZ Bytes)
Reserve Reserve
(8192-SPRZ Bytes)
0x4000
Replicated
FCM
Buffer RAM
Images
in Bank
End of Bank
Set NCFGR[SRAM_INIT_EN] bit to initialize the SRAM before initiating the first
program operation. See NAND Configuration register (IFC_NCFGR) for details.
13 12 11 10 9 8 7 6 5 4 3 2 1
14 13 12 11 10 9 8 7 6 5 4 3 2 1
Data Out
B N- N- 5 4 3 2 1
N 1 2
ENCODER_LFSR[N-1:0]
Switch-2
A Data In
10110011011100010111000110100000000011011000000000110010000110100111
1
• 40-bit ECC:
g(x)=1110000011101110011001100111110110100101110011101000011000000000
00011100111110001001111000000000101000110111010100011101101101011101
01000111100101111111000011010110101001000001100110001110100011110101
00110100000110011011011101111010101101000111111000010011100100001111
01001011001011111010011101110110110110000101011011100010010011100010
11111110110100111011010000000101011101010001011001110110101010110100
00001000011001100001100101001011111111000110111011001000111011000111
11111100111000000111110110100010110000011111010110011010010100110011
01111
In each of the generator polynomial binary forms mentioned above, the msb represents
the lowest polynomial power (g0) and the lsb represents highest polynomial power (gN).
The following LFSR can be used for BCH encoding.
In encoding, operation data corresponding to a sector is given to the LFSR. During this
time, the following events occur:
• Switch 1 is closed and switch 2 is in the down position (A) to allow the transfer of
data to the output.
• After the transfer of a sector's data, switch 1 is opened and switch 2 is moved to the
up position (B).
• Now N parity bits can be read out from the LFSR. ENCODER_LFSR[N-1]
represents the first parity bit out and ENCODER_LFSR[0] the last parity bit.
• The value of N is 52, 104, 336 and 560 for 4-, 8-, 24- and 40-bit ECC.
When the IFC accesses the NAND flash device for a read operation, it performs a BCH
detection algorithm and indicates how many bit errors were detected and corrected. The
number of errors per sector gets registered in the ECCSTAT0/1/2/3 registers. For 24- and
40-bit ECC, only ECCSTAT0/1 are valid as only 8 sectors of 1 KB is possible for SRAM
buffer.
ECC is kept in spare region of page at offset 08h. BCH ECC bytes are first written to the
SRAM buffer and then to the NAND flash device. During program, the user can read the
ECC bytes by reading the appropriate locations in the SRAM buffer.
During encoding, ECC is always calculated for 512-byte data for 4-/8-bit ECC and 1 KB
data for 24-/40-bit ECC. CSORn[ECC_MODE] can be used to select 4-/8-/24-/40-bit
correction mode, and CSORn[ECC_ENC_EN] and CSORn[ECC_DEC_EN] can be used
to enable/disable the ECC logic.
If the encoder is enabled to calculate the ECC, then the data to the encoder is fed in the
following manner:
• 16 bits are fed to the encoder every other clock cycle
• The encoder processes the bits in the following manner:
• Bit #15 (d0), bit #14 (d1), bit #13 (d2), .... , bit #0 (d15), that is, bit #15 is the
first bit to enter the encoder
• Parity bit #0 (p0) is the first parity bit which comes out of the encoder
This table explains the manner in which the data and parity bits are stored in the 16-bit
NAND flash memory for 4-bit encoding/decoding.
NOTE
• Even when storing data in an 8-bit NAND flash memory,
the manner in which the data is fed to the encoder remains
unchanged.
• The data to the decoder also needs to be fed in the same
manner.
Table 25-8. 16-bit NAND flash memory organization with 4-bit/sector ECC
bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit
#15 #14 #13 #12 #11 #10
#9 #8 #7 #6 #5 #4 #3 #2 #1 #0
Data d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15
Word 0
Data d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31
Word 1
...
Data d408 d408 d408 d408 d408 d408 d408 d408 d408 d408 d409 d409 d409 d409 d409 d409
Word 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
255
Spare s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15
Word 0
Spare s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31
Word 1
.
Spare s48 s49 s50 s51 s52 s53 s54 s55 s56 s57 s58 s59 s60 s61 s62 s63
Word 3
Spare p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15
Word 4
Spare p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29 p30 p31
Word 5
.
Spare p48 p49 p50 p51 0 0 0 0 0 0 0 0 0 0 0 0
Word 7
Table 25-9. 16-bit NAND flash memory organization with 8-bit/sector ECC
bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit
#15 #14 #13 #12 #11 #10
#9 #8 #7 #6 #5 #4 #3 #2 #1 #0
Data d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15
Word 0
Data d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31
Word 1
...
Data d408 d408 d408 d408 d408 d408 d408 d408 d408 d408 d409 d409 d409 d409 d409 d409
Word 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
255
Spare s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15
Word 0
Spare s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31
Word 1
.
Spare s48 s49 s50 s51 s52 s53 s54 s55 s56 s57 s58 s59 s60 s61 s62 s63
Word 3
Spare p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15
Word 4
Spare p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29 p30 p31
Word 5
...
Spare p96 p97 p98 p99 p100 p101 p102 p103 0 0 0 0 0 0 0 0
Word
10
Spare 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Word
11
Table 25-10. 16-bit, large page (2K) NAND flash memory organization with 4-bit/sector
ECC
bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit
#15 #14 #13 #12 #11 #10
#9 #8 #7 #6 #5 #4 #3 #2 #1 #0
Data d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15
Word 0
Data d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31
Word 1
...
Table 25-10. 16-bit, large page (2K) NAND flash memory organization with 4-bit/sector
ECC (continued)
Data d163 d163 d163 d163 d163 d163 d163 d163 d163 d163 d163 d163 d163 d163 d163 d163
Word 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
1023
Spare s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15
Word 0
Spare s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31
Word 1
.
Spare s48 s49 s50 s51 s52 s53 s54 s55 s56 s57 s58 s59 s60 s61 s62 s63
Word 3
Spare p0_0 p0_1 p0_2 p0_3 p0_4 p0_5 p0_6 p0_7 p0_8 p0_9 p0_1 p0_1 p0_1 p0_1 p0_1 p0_1
0 1 2 3 4 5
Word 4
Spare p0_1 p0_1 p0_1 p0_1 p0_2 p0_2 p0_2 p0_2 p0_2 p0_2 p0_2 p0_2 p0_2 p0_2 p0_3 p0_3
6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Word 5
.
Spare p0_4 p0_4 p0_5 p0_5 0 0 0 0 0 0 0 0 0 0 0 0
8 9 0 1
Word 7
Spare p1_0 p1_1 p1_2 p1_3 p1_4 p1_5 p1_6 p1_7 p1_8 p1_9 p1_1 p1_1 p1_1 p1_1 p1_1 p1_1
0 1 2 3 4 5
Word 8
Spare p1_1 p1_1 p1_1 p1_1 p1_2 p1_2 p1_2 p1_2 p1_2 p1_2 p1_2 p1_2 p1_2 p1_2 p1_3 p1_3
6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Word 9
.
Spare p1_4 p1_4 p1_5 p1_5 0 0 0 0 0 0 0 0 0 0 0 0
8 9 0 1
Word
11
Spare p2_0 p2_1 p2_2 p2_3 p2_4 p2_5 p2_6 p2_7 p2_8 p2_9 p2_1 p2_1 p2_1 p2_1 p2_1 p2_1
0 1 2 3 4 5
Word
12
Spare p2_1 p2_1 p2_1 p2_1 p2_2 p2_2 p2_2 p2_2 p2_2 p2_2 p2_2 p2_2 p2_2 p2_2 p2_3 p2_3
6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Word
13
.
Spare p2_4 p2_4 p2_5 p2_5 0 0 0 0 0 0 0 0 0 0 0 0
8 9 0 1
Word
15
Spare p3_0 p3_1 p3_2 p3_3 p3_4 p3_5 p3_6 p3_7 p3_8 p3_9 p3_1 p3_1 p3_1 p3_1 p3_1 p3_1
0 1 2 3 4 5
Word
16
Spare p3_1 p3_1 p3_1 p3_1 p3_2 p3_2 p3_2 p3_2 p3_2 p3_2 p3_2 p3_2 p3_2 p3_2 p3_3 p3_3
6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Word
17
Table 25-10. 16-bit, large page (2K) NAND flash memory organization with 4-bit/sector
ECC (continued)
.
Spare p3_4 p3_4 p3_5 p3_5 0 0 0 0 0 0 0 0 0 0 0 0
8 9 0 1
Word
19
Spare
Word
20
...
Spare
Word
31
Main
Main Page
Region
0x08
ECC bytes for
all sectors Spare
Region
For example, there is a memory of 4 KB page size and a 24-bit ECC is needed to protect
it. A 4 KB page size memory will have four sectors of 1 KB each. The encoder will
generate 42 bytes of parity information for each sector. Therefore, there will be a total of
42x4 = 168 ECC bytes. All 168 bytes are placed in the spare region of the NAND flash at
offset 08h: { Sector-1 {P0, P1,...P335}, Sector-2 {P0,P1,...P335}, Sector-3 {P0,
P1,...P335}, Sector-4 {P0,P1,...P335} } from offset 08h where P0 is the first parity bit
coming out from encoder and P335 the last bit. The data and parity feeding and
arrangement for all the modes remains same and as shown in Table 25-10.
This figure represents the logical flow of encoding and decoding operation during
program and read. During program, ECC bytes are also written back in SRAM. During
read, first, all data bytes corresponding to a page are written in SRAM buffer, and then
the decoding starts on sector basis. At any time, only one operation can be performed on
the NAND; that is, it can only be either read or programmed.
MAIN
DATA
NAND
IFC SRAM FLASH
Buffer Read Data Bytes DEVICE
Fixed Data
Read Data
Bytes of a SPARE
sector ECC DATA
bytes
BCH
DECODER
NOTE
The BCH encoder and decoder should be enabled only when
performing full-page operations. If there are partial page
operations, the encoder and decoder should be disabled.
NOTE
The IFC computes the ECC only for the main region data (as
the ECC is not computed for the spare region). The decoder
detects and corrects 4/8 bits of error on the main region data
and the corresponding ECC bytes stored.
{FIR0, FIR1,FIR2}
NOOP
OP0 OP1 OP2 OP3 OP14
CLE
ALE/AVD
NAND Flash
Control WE_B
Machine
RE_B
R/B_B
WP_B
NOTE
User must use the WFR opcode at the end of NAND FIR
programming to probe the RDY_B/BSY_B signal before end of
operation. Status poll is also recommended after every write or
erase command.
• The DLL is used to calculate the half pulse width of an internally generated reference
clock (clk_ref) and has the same period as IFC_ND_DDR_CLK. This calculated half
pulse width is used to calculate a delay for the incoming raw DQS (clk_in), which is
then used to capture the read data
The DLL is comprised of three major components:
• One instance of the delay chain - used for reference calibration (half-phase detect)
• One instance of the delay - used as the slave delay line (performs the programmed
delay)
• Phase detector module - forms the control loop with the reference delay line and
provides the decoding and controls for the slave delay line
The following figure shows the block diagram of the DLL used in the IFC.
ifc_dl
dl_dly_chai (ref) clk_ref
dl_pdetec
controls
status
The DLL control loop consists of a counter, reference delay line, and phase detector
which operate on the ref_clock reference clock input. The reference clock (clk_ref) is fed
into the reference delay line. After reset, a single delay tap is selected. A phase detector is
used to detect the condition where a half shift has a occurred. In addition to this, signals
are generated to either increment or decrement the counter which controls the delay line
(if the half-phase detect condition is not met). Any changes in the delay of the individual
elements of the delay chain (due to PVT) will automatically cause the phase detector
logic to determine if a change in the counter value is required. Once the half-phase shift
is detected, an internal lock signal is generated.
Refer to DLL configuration guideline (valid when IFC is in NVDDR Mode) for
guidelines on DLL usage.
CE_B
TCCST
CLE
TCCST
ALE
TCCST
WE_B
TWH TWH TWH
CE_B
TCCST
CLE
ALE
WE_B
TWP TWH TCCST TWP TWH TWBE
R/B_B
TRR TRP TREH
RE_B
tRC
SAMPL
TRAD
TCCST
CE_B
CLE
ALE/AVD
TRP
RE_B
TREH
TRAD
SAMPL
IFC module
input clock
IFC_DDR_CLK
tCS
CE
COL ROW
DQ[7:0] CMD0 ADD ADD
D0
-E
D0
-O
D1
-E
D1
-O
tWPRE
tWPST
DQS
tDQSS
IFC_DDR_CLK
tCS
CE
tCAD
CLE
W/R#
COL ROW
DQ[7:0] CMD0 ADD ADD
D0
-E
D0
-O
D1
-E
D1
-O
D2
-E
D2
-O
D3
-E
D3
-O
tWPRE
tWPST
DQS
tDQSS
Figure 25-34. NAND synchronous mode program operation with clock stopped
clk_sync
IFC_CLK
CE tCS tCH
tCAD tWRCK
CLE
tCAD tCAD tCAD tCAD tWRCK
ALE/AVD
W/R# tCKWR
tDQSCK
DQS
DQ[7:0] COL ROW D0 D0 D1 D1
CMD0 ADD ADD CMD0 -E -O -E -O
TEADC
ALE
TEAHC TACSE
CS_B
ADDR ADDR
TACO
OE_B
Data ADDR D0
TRAD
Sample
ip_clk
ALE
CS_B
OE_B
TACO
Data ADDR0 D0 D1 D2 D3
TSEQRAD TSEQRAD
TRAD
Sample
ip_clk
TEADC
TEAHC
ALE
TACSE
CS_B
ADDR ADDR
TCS TCH
TWP
WE_B
DATA ADDR DO
ip_clk
ALE
CS_B
TCS TCH
ADDR ADDR0 ADDR1 ADR2 ADDR3
TCH
WE_B TWP
TWPH
AD D0 D1 D2 D3
CS_B
AVD_B
Addr ADDR
TACO
OE
AD ADDR DO
Sample
CS_B
TAVDS, TEADC, TEAHC
AVD_B
TCS
WE_B
CS_B
IFC_CLK
OE_B
WE_B
GPCM
SRAM/
FCM
EPROM
(IFC) ADDR
AD
Parity
IFCTA_B
ip_clk
ifc_launch_clk
IFC_CLK
TEADC
ALE
TACSE
TCH
CS_B
ADDR Addr0
TCS TWP
WE_B F WE0 F
TEAHC
AD Addr0 Data0
Parity 0 par0
ip_clk
IFC_CLK
ALE/AVD
CS_B
WE_B F 0 F 0 F
OE_B
BCTL
In burst mode, the next data and next address are sent after one TWP period (the amount
of time between address/data cycles). If IFCTA_B is deasserted and the burst is
controlled by the timing parameter programmed in FTIM registers, the burst will
continue until either the burst length is reached or complete data is transferred. If the
number of bytes of data to be transferred is less than programmed burst length multiplied
by port size, then the burst will be terminated before the programmed maximum number
of burst transfers.
ip_clk
ifc_launch_clk
IFC_CLK
TEADC
ALE/AVD
TACSE
CS_B
TCS TWP
WE_B
F WE0 WE1 WE2 WE3 F
TEAHC
burst_length = 2
WGETA =0
no external termination
ip_clk
ifc_launch_clk
IFC_CLK
clk_sync
IFCTA_B
ALE/AVD
DATA_IO ADDR0 DATA0 DATA1 DATA2 DATA3 ADDR4 DATA4 DATA5 DATA6 DATA7
CS_B
IFC_TA_SYNC_B
burst_length = 2
wgeta = 0
External termination by TA.
current burst terminates
If transaction size is greater than GPCM port size, the transaction will be split into
multiple port size accesses. For non-burst mode, the last split is terminated at the rising
edge of ifc_launch_clk after assertion of IFCTA_B or after timeout. For other splits, IFC
waits for IFC_TA deassertion and not available for further transactions until IFC_TA is
deasserted.
As IFCTA_B is synchronized through asynchronous FIFO, bus termination occurs only
after the synchronization delay of the IFCTA_B signal. IFCTA_B should be asserted for
at least one IFC_CLK cycle if it is synchronous (that is, meeting setup and hold time);
otherwise, if it is asynchronous, IFCTA_B should be asserted for a minimum of two
IFC_CLK cycles.
ip_clk
ifc_launch_clk
IFC_CLK
clk_sync
IFCTA_B
ALE_B
CS_B
IFC_TA_SYNC_B
burst_length = 1
wgeta = 1
ip_clk
ifc_launch_clk
IFC_CLK
ALE/AVD
CS
ADDR Addr
TACO
TRAD
OE_B
AD ADDR0 DATA
Parity PARITY
ip_clk
IFC_CLK
ALE/AVD
CS_B
OE_B
TRHZ
TEAHC TBCTL
BCTL
WE_B
TRHZ: Extended hold time for slow memories to disable their bus drivers
TBCTL: Bus turn-around time
When RGETA is programmed to 0 and access is aborted by ifc_ta, then the current burst
is terminated and new burst transaction is launched. The ongoing burst is terminated at
the next rising edge of ifc_launch_clk after assertion of ifc_ta. The next burst starting
address will be the last burst address + number of bytes that needed to be received in the
last burst.
Addressn+1 = Addressn + (number bytes for current burst)
The next burst starts only after deassertion of ifc_ta.
An abort error is registered in the status registers and all the trasaction attributes are
locked. Since ifc_ta is synchronized through asynchronous FIFO, bus termination occurs
only after synchronization delay of ifc_ta signal. ifc_ta should be asserted for minimum
two IFC_CLK cycles.
ip_clk
ifc_launch_clk
IFC_CLK
TEADC
ALE/AVD
TACSE
CS_B
TAAD TAAD
ADDR Addr0 Addr1 Addr2 Addr3
TACO
OE_B TRAD
OE_SYNC
busrt_length = 2
rgeta = 0
no external termination
In case of a timeout, an error is registered in the GPCM status register and all transaction
attributes are locked. As IFCTA_B is synchronized through the asynchronous FIFO, bus
termination occurs only after a synchronization delay of the IFCTA_B signal. IFCTA_B
should be asserted for at least one IFC_CLK cycle if it is synchronous (that is, meeting
setup and hold time); otherwise, if asynchronous, IFCTA_B should be asserted for a
minimum of two IFC_CLK cycles.
ip_clk
ifc_launch_clk
IFC_CLK
IFCTA_B
ALE
CS_B
IFC_TA_SYNC_B
OE_B
Note: Addr4 is last transaction cycle of the complete data transfer, hence temrinates before deassertion of ifc_ta burst_length = 4 beats
RGETA = 1
CS_B
ifc_clk
RW_L
Sof_L
GASIC
GENERIC
FCM
Data ASIC
(IFC)
Parity
PERR_L
RDY_L
IFC_CLK
BCTL
CS_B
SOF_B
RW_B
RDY_B
Figure 25-55. GASIC program operation with 16-bit device and zero-wait state
For program operation, wait state represents delay (in terms of IFC_CLK) between first
write data beat versus RDY_B assertion time.
For read, wait state represents delay (in terms of IFC_CLK) between last address beat
sent by controller and RDY_L assertion time. If RDY_L is asserted in next cycles of
address sampled by GASIC device then it is termed as zero wait state.
BCTL
CS_B
SOF_B
RW_B
RDY_B
Figure 25-56. GASIC read operation with 16-bit device and 2-wait state
ip_clk
clk_div 4 5
div_cntr 4 3 2 1 0 4 3 2 1 0 4 3 2 1 0 5 4 3 2 1 0 5 4 3 2 1 0 5 4 3 2 1 0 5 4 3 2 1 0 5 4 3 2
ungated_ifc_clk
clk_stat
IFC_CLK
The user should ensure that there is no activity on the NAND interface while
programming this register field. Then perform the following steps:
• Wait for OPC, if any previous operation is being executed on the NAND device.
• Program the CSORn[NAND_MODE] field to 00hh.
• Program FIR sequence (CMD0 -WFR - NOOP) that will issue the reset command
(FFh) to the NAND device using an asynchronous command cycle. tWB time after the
command is issued, the RB_B signal goes low indication the device is in busy state.
After tRST time, the device will be in ready state. The user should poll for the OPC
status bit before issuing any new operations on the NAND device.
Once the above FIR sequence is complete, the NAND device will be in asynchronous
mode and will be set to timing mode 0.
• The NAND_DLL_LOW is enabled when the DDR clock is enabled (by setting DDR
CCR LOW [2]) and CSOR[NAND_MODE] = NVDDR mode.
• The NAND_DLL_LOW is used for interface frequencies up to 133 MHz.
• The reset value of the dll_slv_dly_target field in DLL Configuration 0 register for
NAND_DLL_LOW is 0x7. This will ensure a delay of REF_CLK/4 on the incoming
DQS.
• The user must change the NAND_DLL_CFG1[DLL_PD_PULSE_STRETCH_SEL]
bit from its default value 1’b1 to 1’b0 for reliable pulse detection and DLL lock.
• The user has to poll for the value of ‘1’ on the DLL_STS_SLV_LOCK bit of
NAND_DLL_LOW_STAT (if enabled) register before issuing any access to the
NAND Flash. Neglecting this would result in incorrect read data capture by IFC.
• If the CSOR_EXT[MODE_FREQ] bit is changed, then the delay chain needs to be
reset to make it lock again.
CSn_B CE_B
CLE CLE
ALE/AVD ALE
WE_B WE_B
RE_B RE_B
Refer the chip data 8-bit
IFC
sheet for IFC I/O voltage NAND flash
RB_B RDY/BSY_B
WP_B WP_B
ADDR N.C.
AD[0:7] IO[7:0]
AD[8:15] N.C.
This figure shows connection of a 16-bit NAND flash to IFC. Commands and address
bytes appear on AD[8:15].
CSn_B CE_B
CLE CLE
ALE/AVD ALE
WE_B WE_B
RE_B RE_B
16-bit
Refer the chip data
NAND Flash
IFC sheet for IFC I/O voltage
RB_B RDY/BSY_B
WP_B WP_B
Addr N.C.
AD[0:7] IO[15:8]
AD[8:15] IO[7:0]
This figure shows a simple connection between an 8-bit port size NAND flash EEPROM
(in source synchronous mode) and the IFC. In NAND FCM mode, commands, address
bytes, and data are all transferred on AD[0:7].
CSn_B CE_B
CLE CLE
ALE ALE
RE_B W/R_B
WE_B CLK
8-bit source sync
IFC Refer the chip data NAND flash
sheet for IFC I/O voltage
RB_B RDY/BSY_B
WP_B WP_B
AD[0:7] IO [7:0]
AD[8:15] N.C.
DQS DQS
ADDR N.C.
AD[0:15] D[15:0]
D
AD[0:15]
Q A[26:11]
ALE/AVD LE
Latch
ADDR[16:26] A[10:0]
ADDR[27] NC
Muxed Address/Data
Unmuxed Address
AD[0:15] D[7:0]
D
AD[0:15]
Q A[27:12]
ALE/AVD LE
Latch
Addr[16:27] A[11:0]
Muxed Address/Data
Unmuxed Address
After the data has been sampled, the output drivers of the external device must be
disabled, which can take some time.
After the previous cycle ends, BCTL goes high and changes the direction of the bus
transceiver. The IFC then inserts a bus turnaround time (that is, TBCTL) to avoid
contention. The external device has now already placed its data signals in high impedance
and no bus contention occurs.
AD[0:7] AD[8:15]
OP2 OP3
OP4 OP5
OP6 OP7
OP7
The above sequence uses opcode UA to send the address stored in row address register 3.
This is done so that the data transfer, that is, the read data is stored in buffer 0 of the
internal SRAM. Thus, the UA could also be used for operations, such as read page
parameter, get feature, set feature, read unique ID always using buffer 0 of the internal
SRAM.
At the conclusion of the sequence, IFC will issue a command complete interrupt if
interrupts are enabled. Once the sequence has completed, the shared buffer (buffer 1 for
page index 5) and transfer error registers are valid.
Table 25-14. FCM register settings for page read
Register Initial contents Description
NAND_FCR0 0030_0000h CMD0 = 00h = random read address entry;
CMD1 = 30h = read page
ROW0 row address (for Locates the block and the page within that block to be accessed
example, 0000_0005h
locates page5 in block0)
COL0 0000_0000h Locates the byte to be accessed within a given page MS = 0
NAND_BC 0000_0000h BC = 0 to read entire 2112-byte page
NAND_FSR - unused
NAND_FIR0, 2411_4A68h, OP0 = CMD0 = command 0; OP1 = CA0 = column address; OP2 = RA0 =
NAND_FIR1,NAN 0000_0000h, page address; OP3 = CMD1 = command 1; OP4 = RBCD = read BC bytes of
D_FIR2 0000_0000h data into FCM buffer; OP5 - OP14 = NOOP
Table 25-16. FCM register settings for read status during program busy period
Register Initial contents Description
OP6 = CMD1 = command 1;
OP7 = RDSTAT = read erase status into NAND_FSR;
OP8–OP14 = NOOP
In this sequence, use opcode (NWAIT, CMD1) instead of CW1 to issue a read status
during the device-busy phase. This is different from the sequence NAND flash program
command sequence example, where a read status is issued after the device becomes
ready.
Additionally, both modules have been integrated with identical parameters and
connections.
The remainder of this chapter refers to a single I2C module. Notes are included to
indicate variations for multiple instantiations.
The table below provides the clock sources to each I2C module:
Table 26-3. LS1043A I2C clocking
Module LS1043A clocking source
I2C1 platform clock
I2C2 platform clock
I2C3 platform clock
I2C4 platform clock
26.2 Overview
This chapter describes the Inter-Integrated Circuit (I2C) bus module implemented on this
chip and presents the following topics:
• Introduction to I2C
• External signal descriptions
• Memory map and register definition
• Functional description
• Initialization/application information
• Modes of operation
• Definition: I2C conditions
ADDR_DECODE DATA_MUX
In/Out
Input
Data
Sync
Shift
Start
Register
Stop
Arbitration
Control
Clock Address
Control Compare
SCL SDA
Figure 26-1. I2C block diagram
26.3.4 Features
The I2C module has the following key features:
• Compatible with I2C bus standard1
• Operating speeds
• Up to 100 kbps in Standard Mode
• Up to 400 kbps in Fast Mode
1. Compliant with I2C 2.0 standard with the exception that HS (high speed) mode is not supported
In addition to chip modes, the I2C module has several module-specific modes. These are
described in the following table.
Table 26-5. Module-specific modes supported by the I2C module
Module mode Description Important notes
Master mode The I2C module is the driver of the SDA line. • Do not use the I2C module's slave address
as a calling address.
• The I2C module cannot be a master and a
slave simultaneously.
Slave mode The I2C module is not the driver of the SDA line. • Enable the I2C module before a START
condition from a non-I2C master is
detected.
• By default the I2C module performs as a
slave receiver.
SDA
SCL
R 0 0 0 R FIELD
W FIELD1 FIELD2 W w1c
Write-only fields Write 1 to clear" field
(field will always read 0)
The memory map for the I2C module is given below. The total address for each register is
the sum of the base address for the I2C module and the address offset for each register.
This register contains the address the I2C Bus will respond to when addressed as a slave.
This is not the address sent on the bus during the address transfer.
Address: Base address + 0h offset
Bit 7 6 5 4 3 2 1 0
Read 0
ADR
Write
Reset 0 0 0 0 0 0 0 0
Read 0
MDIS IBIE MSSL TXRX NOACK DMAEN IBDOZE
Write RSTA
Reset 1 0 0 0 0 0 0 0
0 The I2C Bus module is enabled. This bit must be cleared before any other IBCR bits have any effect
1 The module is reset and disabled. This is the power-on reset situation. When high, the interface is
held in reset, but registers can still be accessed. Status register bits (IBSR) are not valid when module
is disabled.
0 Slave Mode
1 Master Mode
4 Transmit/Receive mode select. This bit selects the direction of master and slave transfers. When
TXRX addressed as a slave this bit should be set by software according to the SRW bit in the status register. In
master mode this bit should be set according to the type of transfer required. Therefore, for address
cycles, this bit will always be high.
0 Receive
1 Transmit
3 Data Acknowledge disable. This bit specifies the value driven onto SDA during data acknowledge cycles
NOACK for both master and slave receivers. The I2C module will always acknowledge address matches, provided
it is enabled, regardless of the value of NOACK.
NOTE: Values written to this bit are only used when the I2C Bus is a receiver, not a transmitter.
0 An acknowledge signal will be sent out to the bus at the 9th clock bit after receiving one byte of data
1 No acknowledge signal response is sent (i.e., acknowledge bit = 1)
2 Repeat Start. Writing a one to this bit will generate a repeated START condition on the bus, provided it is
RSTA the current bus master. This bit will always be read as a low. Attempting a repeated start at the wrong
time, if the bus is owned by another master, will result in loss of arbitration.
0 No effect
1 Generate repeat start cycle
1 DMA Enable. When this bit is set, the DMA Tx and Rx lines will be asserted when the I2C module requires
DMAEN data to be read or written to the data register. No Transfer Done interrupts will be generated when this bit
is set, however an interrupt will be generated if the loss of arbitration or addressed as slave conditions
occur. The DMA mode is only valid when the I2C module is configured as a Master and the DMA transfer
still requires CPU intervention at the start and the end of each frame of data. See the DMA Application
Information section for more details.
NOTE: This bit is only valid during or immediately following a transfer to the I2C module or from the I2C
module.
0 Transfer in progress
1 Transfer complete
6 Addressed as a slave.
IAAS
When its own specific address (I-Bus Address Register) is matched with the calling address, this bit is set.
The CPU is interrupted provided the IBIE is set. Then the CPU needs to check the SRW bit and set the
TXRX field accordingly. Writing to the I-Bus Control Register clears this bit.
0 Not addressed
1 Addressed as a slave
5 Bus busy.
IBB
This bit indicates the status of the bus. When a START signal is detected, IBB is set. If a STOP signal is
detected, IBB is cleared and the bus enters idle state.
NOTE: Software must ensure that the I2C bus is idle by checking the IBSR[IBB] field (bus busy) before
switching to master mode and attempting a START cycle.
0 Bus is Idle
1 Bus is busy
4 Arbitration Lost.
IBAL
The arbitration lost bit (IBAL) is set by hardware when the arbitration procedure is lost. Arbitration is lost in
the following circumstances:
• SDA is sampled low when the master drives a high during an address or data transmit cycle.
• SDA is sampled low when the master drives a high during the acknowledge bit of a data receive
cycle.
• A start cycle is attempted when the bus is busy.
Table continues on the next page...
This bit must be cleared by software, by writing a one to it. A write of zero has no effect.
3 This field is reserved.
Reserved This read-only field is reserved and always has the value 0.
2 Slave Read/Write. When the IAAS bit is set, this bit indicates the value of the R/W command bit of the
SRW calling address sent from the master. This bit is only valid when the I-Bus is in slave mode, a complete
address transfer has occurred with an address match and no other transfers have been initiated. By
reading this field, the CPU can detect slave transmit/receive mode according to the command of the
master.
A processor interrupt request will be caused if the IBIE bit is set. This bit must be cleared by software, by
writing a one to it. A write of zero has no effect on this bit. In DMA mode (DMAEN set) a byte transfer
complete condition will not trigger the setting of IBIF. All other conditions still apply.
0 Received Acknowledge. This is the value of SDA during the acknowledge bit of a bus cycle. If the received
RXAK acknowledge bit (RXAK) is low, it indicates an acknowledge signal has been received after the completion
of 8 bits data transmission on the bus. If RXAK is high, it means no acknowledge signal is detected at the
9th clock. This bit is valid only after transfer is complete.
0 Acknowledge received
1 No acknowledge received
Reading the IBDR will return the most recent byte received while the I2C is configured in
either master receive or slave receive modes. The IBDR does not reflect every byte that is
transmitted on the I2C bus, nor can software verify that a byte has been written to the
IBDR correctly by reading it back.
In master transmit mode, the first byte of data written to IBDR following assertion of
MSSL is used for the address transfer and should comprise the calling address (in
position DATA[7:1]) concatenated with the required R/ W bit (in position D0).
NOTE
When the I2C
is configured in master mode and receiving data
from a slave that is transmitting data bytes on an irregular basis,
the master cannot know whether the data received in the IBDR
is the old latched data or the new data received from the slave.
To avoid this, 2 consecutive intermittent data bytes from slave
should be different.
Address: Base address + 4h offset
Bit 7 6 5 4 3 2 1 0
Read DATA
Write
Reset 0 0 0 0 0 0 0 0
Read 0
BIIE BYTERXIE
Write
Reset 0 0 0 0 0 0 0 0
26.6.2 Transactions
This section presents the following topics:
• Protocol overview
SDA AD7 AD6 AD5 AD4 AD3 AD2 AD1 R/W XXX D7 D6 D5 D4 D3 D2 D1 D0
SDA AD7 AD6 AD5 AD4 AD3 AD2 AD1 R/W Data AD7 AD6 AD5 AD4 AD3 AD2 AD1 R/W
START Calling address Read/ Ack Repeated New calling address Read/ No STOP
Write START Write ack
Ack A bit that specifies the acknowledgement of a calling address, indicated by pulling SDA
low.
If the slave receiver does not acknowledge the master, the SDA line must be left high by
the slave. The master can then generate a stop condition to abort the data transfer or a
START condition (repeated START) to begin a new calling.
If the master receiver does not acknowledge the slave transmitter after a byte of
transmission, the slave interprets that the end-of-data has been reached. Then the slave
releases the SDA line for the master to generate a STOP or a START condition.
SCL1
SCL2
SCL
26.6.4.3 Handshaking
The clock synchronization mechanism can be used as a handshake in data transfer. Slave
devices may hold the SCL low after completion of one byte transfer (9 bits). In such
cases, it halts the bus clock and forces the master clock into wait state until the slave
releases the SCL line.
Table 26-11. Timing definitions relevant to clock rate and IBFD settings (continued)
Term Definition
SCL Hold The required number of CPU clocks to generate a START or STOP condition (see
Figure 26-6 and Table 26-12)
SDA Hold See Figure 26-7 and Table 26-12
SDA
SCL
SCL Divider
SCL
SDA Hold
SDA
26.6.5 Interrupts
This section presents the following topics:
• Interrupt vector
• Interrupt description
The I2C interrupt is enabled by the IBCR[IBIE] bit. It must be cleared by writing '1' to
the IBIF bit in the interrupt service routine. The Bus Going Idle interrupt needs to be
additionally enabled by the IBIC[BIIE] bit.
Figure 26-8. I2C stop mode behavior when master is receiving and slave is transmitting
Clear
IBIF
Y Master N
Mode
?
TX RX Y Arbitration
Tx/Rx
Lost
?
?
N
Last Byte
Clear IBAL
Transmitted Y
?
N
Last
N Y
RXAK=0 Byte To Be Read IAAS=1 IAAS=1
N Y
? ? ? ?
Y N Y N
Y ACK From
Write Next Generate Set TX
Set NOACK = 1 Receiver
Byte To IBDR Stop Signal Mode ?
N
RTI
Software may service the I2C I/O in the main program by monitoring the IBIF bit if the
interrupt function is disabled. Polling should monitor the IBIF bit rather than the TCF bit
since their operation is different when arbitration is lost.
When a "Transfer Complete" interrupt occurs at the end of the address cycle, the master
will always be in transmit mode, i.e. the address is transmitted. If master receive mode is
required, indicated by R/W bit sent with slave calling address, then the Tx/Rx bit at
Master side should be toggled at this stage. If Master does not receive an ACK from
Slave, then transmission must be re-initiated or terminated.
In slave mode, IAAS bit will get set in IBSR if Slave address (IBAD) matches the Master
calling address. This is an indication that Master-Slave data communication can now
start. During address cycles (IBSR[IAAS]=1), the SRW bit in the status register is read to
determine the direction of the subsequent transfer and the Tx/Rx bit is programmed
accordingly. For slave mode data cycles (IBSR[IAAS]=0), the SRW bit is not valid. The
Tx/Rx bit in the control register should be read to determine the direction of the current
transfer.
The bus free time (i.e., the time between a STOP condition and the following START
condition) is built into the hardware that generates the START cycle. Depending on the
relative frequencies of the system clock and the SCL period, it may be necessary to wait
until the I2C is busy after writing the calling address to the IBDR before proceeding with
the following instructions. This is illustrated in the following example.
An example of the sequence of events which generates the START signal and transmits
the first byte of data (slave address) is shown below:
NOTE: You can ignore Address Detect (IAAS = 1) for master mode (it is valid only for slave mode).
i Examine the RXAK field in I2C Bus Status Register (I2C_IBSR) for an acknowledgment from the slave.
j Repeat steps d through i to transfer the next consecutive bytes of data.
NOTE: You can ignore the No Acknowledge condition (RXAK = 1) for receive mode.
h Read I2C Bus Data I/O Register (I2C_IBDR) to determine the data received from the slave.
NOTE: You can ignore the No Acknowledge condition (RXAK = 1) for receive mode.
i Read I2C Bus Data I/O Register (I2C_IBDR) to determine the data received from the master.
If a master receiver wants to terminate a data transfer, it must inform the slave transmitter
by not acknowledging the last byte of data which can be done by setting the NOACK bit
in IBCR before reading the 2nd last byte of data. Before reading the last byte of data, a
STOP signal must first be generated. The following is an example showing how a STOP
signal is generated by a master receiver.
C P U s e ts
IB C R [D M A E N ]
C P U w rite s c a llin g
a d d re s s to sla ve
in te rru p t
g e n e ra te d
yes C P U h a n d le s
A rb L o st o r
N o ack? co n d itio n
no
D M A re q u e s t
g e n e ra te d
no
D M A w rite s 1
b y te o f d a ta
D M A w ritte n
(n -1 ) b y te s o f
d a ta ?
yes
C P U c le a rs
IB C R [D M A E N ]
in te rru p t
g e n e ra te d
C P U w rite s la s t
d a ta b y te
in te rru p t
g e n e ra te d
C P U c le a rs S to p
M S /S L b it in C R g e n e ra te d
C o n fig I 2 C fo r
M a s te r R X
S ta rt
G e n e ra te d
C P U w rite s ca llin g
a d d re s s to s la v e
in te rru p t
g e n e ra te d
yes C P U h a n d le s
A rb L o st o r
N o ack? c o n d itio n
no
S to p
g e n e ra te d
C P U se ts T X /R X
to R X
C P U c le a rs
M S /S L b it in C R
CPU: dum m y
re a d o f D A T A re g
C P U re a d s la st
d a ta b y te
C P U s e ts
IB C R [D M A E N ]
in te rru p t
g e n e ra te d
S la v e T X o n e S la ve T X la s t
b y te o f d a ta d a ta b y te
D M A re q u e st
g e n e ra te d
C P U se ts
no
D M A re a d s b yte TXACK
o f d a ta
C P U re a d s n -1
D M A re a d d a ta
(n -2 ) b y te s o f
d a ta ?
in te rru p t
yes g e n e ra te d
C P U cle a rs S la ve T X n -1
IB C R [D M A E N ] d a ta b y te
interrupts interfere. Therefore the interrupt handling routine can become complicated
as it has to check which of the two cases happened (check TCF bit) and act
accordingly. In case of slow reaction you can force an interrupt for the I2C in the
interrupt controller to have the further transfer handled by the normal I2C interrupt
routine.
Note
The use of nested interrupts can still cause potential issues
in this scenario, if someone tries to stall the DMA interrupt
between the de-assertion and DMAEN bit and checks the
TCF bit.
Note
Here you have to make sure at system level that no higher
priority DMA requests occur during the scatter/gather
process, as those could again create a scenario of slow
reaction.
Example latencies for a 32 MHz system with a full speed 32-bit AHB bus and an I2C
connected via half speed IPI bus:
• Accessing the I2C from the DMA controller via IPI bus typically requires four cycles
(consecutive accesses to the I2C could be faster):
4×TIPI = 4/16 MHz = 250 ns
• Reloading a new TCD (8 x 32-bit) via AHB to the DMA controller (scatter/gather
process):
8×TAHD = 8/32 MHz = 250 ns
Example latencies for a 150 MHz system with a full speed 32-bit AHB bus and an I2C
connected via half speed IPI bus:
• Accessing the I2C from the DMA controller via IPI bus typically requires four cycles
(consecutive accesses to the I2C could be faster):
4×TIPI = 4/150 MHz = 26.6 ns
• Reloading a new TCD (4 x 64-bit) via AHB to the DMA controller (scatter/gather
process):
4×TAHD = 4/150 MHz = 26.6 ns
With the DMA scatter/gather process the required IBCR access can be done in 0.5 µs,
leaving a large margin of 19.5 µs for additional system delays. In this way, the slow
reaction case can be prevented. The system user needs to decide which usage model best
suits his overall requirement.
Additionally:
• All modules have been integrated with identical parameters.
• The hardware flow control (CTS/RTS) is supported only on LPUART1, LPUART2,
and LPUART3.
• Selectable IrDA 1.4 return-to-zero-inverted (RZI) format is supported only on
LPUART1, LPUART2, and LPUART3.
• All LPUART interrupts from a single LPUART module are ORed together before
feeding to the GIC interrupt controller. Therefore, GIC has one interrupt port for
each LPUART instance.
The remainder of this chapter refers to a single LPUART module. Notes are included to
indicate variations for multiple instantiations.
The following table provides the clock source for each LPUART module:
Table 27-4. LPUART clocking
LPUART module Clock source
LPUART1 SYS_REF_CLK
LPUART2 platform clock/2
LPUART3 platform clock/2
LPUART4 platform clock/2
LPUART5 platform clock/2
LPUART6 platform clock/2
27.4 Introduction
27.4.1 Features
Features of the LPUART module include:
• Full-duplex, standard non-return-to-zero (NRZ) format
• Programmable baud rates (13-bit modulo divider) with configurable oversampling
ratio from 4x to 32x
• Transmit and receive baud rate can operate asynchronous to the bus clock:
• Baud rate can be configured independently of the bus clock frequency
• Supports operation in Stop modes
• Interrupt, DMA or polled operation:
• Transmit data register empty and transmission complete
• Receive data register full
• Receive overrun, parity error, framing error, and noise error
• Idle receiver detect
• Active edge on receive pin
• Break detect supporting LIN
• Receive data match
• Hardware parity generation and checking
• Programmable 8-bit, 9-bit or 10-bit character length
• Programmable 1-bit or 2-bit stop bits
• Three receiver wakeup methods:
• Idle line wakeup
• Address mark wakeup
• Receive data match
• Automatic address matching to reduce ISR overhead:
• Address mark matching
• Optional 13-bit break character generation / 11-bit break character detection
• Selectable transmitter output and receiver input polarity
• Hardware flow control support for request to send (RTS) and clear to send (CTS)
signals
• Selectable IrDA 1.4 return-to-zero-inverted (RZI) format with programmable pulse
width
• Independent FIFO structure for transmit and receive
• Separate configurable watermark for receive and transmit requests
(Write-Only)
LOOPS
ASYNCH
MODULE LPUART_D – Tx Buffer RSRC
CLOCK
Loop
To Receive
BAUD 11-BIT Transmit Shift Register Control
M Data In
Divider
Start
Stop
To TxD Pin
H 8 7 6 5 4 3 2 1 0 L
OSR
Divider
lsb
SHIFT DIRECTION
TXINV
PE Parity
Generation
PT
TDRE
TIE
Tx Interrupt
TC
Request
TCIE
INTERNAL BUS
ASYNCH
MODULE BAUDRATE
START
CLOCK GENERATOR VARIABLE 12-BIT RECEIVE M
STOP
SHIFT REGISTER M10
LBKDE
RE RECEIVE MSBF
RAF CONTROL
RXINV
SHIFT DIRECTION
RxD
LOOPS
RECEIVER
RSRC SOURCE
CONTROL PE PARITY WAKEUP
PT LOGIC LOGIC
From Transmitter
RESYNCDIS
BOTHEDGE
R 0 0 0
RDMAE
TDMAE
MAEN1
MAEN2
M10 OSR
W
Reset 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R
RXEDGIE
LBKDIE
SBNS SBR
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 Receiver samples input data using the rising edge of the baud rate clock.
1 Receiver samples input data using the rising and falling edge of the baud rate clock.
15 Resynchronization Disable
RESYNCDIS
When set, disables the resynchronization of the received data word when a data one followed by data
zero transition is detected. This bit should only be changed when the receiver is disabled.
RDRF
TDRE
IDLE
OR
NF
RAF TC
FE
PF
R
RWUID
LBKDE
BRK13
RXINV
MSBF
Reset 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 LSB (bit0) is the first bit that is transmitted following the start bit. Further, the first bit received after the
start bit is identified as bit0.
1 MSB (bit9, bit8, bit7 or bit6) is the first bit that is transmitted following the start bit depending on the
setting of CTRL[M], CTRL[PE] and BAUD[M10]. Further, the first bit received after the start bit is
identified as bit9, bit8, bit7 or bit6 depending on the setting of CTRL[M] and CTRL[PE].
3 Receive Data Inversion
RXINV
Setting this bit reverses the polarity of the received data input.
NOTE: Setting RXINV inverts the LPUART_RX input for all cases: data bits, start and stop bits, break,
and idle.
0 During receive standby state (RWU = 1), the IDLE bit does not get set upon detection of an idle
character. During address match wakeup, the IDLE bit does not get set when an address does not
match.
1 During receive standby state (RWU = 1), the IDLE bit gets set upon detection of an idle character.
During address match wakeup, the IDLE bit does get set when an address does not match.
5 Break Character Generation Length
BRK13
BRK13 selects a longer transmitted break character length. Detection of a framing error is not affected by
the state of this bit. This bit should only be changed when the transmitter is disabled.
0 Break character is transmitted with length of 10 bit times (if M = 0, SBNS = 0) or 11 (if M = 1, SBNS =
0 or M = 0, SBNS = 1) or 12 (if M = 1, SBNS = 1 or M10 = 1, SNBS = 0) or 13 (if M10 = 1, SNBS = 1).
1 Break character is transmitted with length of 13 bit times (if M = 0, SBNS = 0) or 14 (if M = 1, SBNS =
0 or M = 0, SBNS = 1) or 15 (if M = 1, SBNS = 1 or M10 = 1, SNBS = 0) or 16 (if M10 = 1, SNBS = 1).
6 LIN Break Detection Enable
LBKDE
LBKDE selects a longer break character detection length. While LBKDE is set, receive data is not stored
in the receive data buffer.
Table continues on the next page...
0 No overrun.
1 Receive overrun (new LPUART data lost).
13 Noise Flag
NF
The advanced sampling technique used in the receiver takes three samples in each of the received bits. If
any of these samples disagrees with the rest of the samples within any bit time in the frame then noise is
detected for that character. NF is set whenever the next character to be read from LPUART_DATA was
received with noise detected within the character. To clear NF, write logic one to the NF.
0 No noise detected.
1 Noise detected in the received character in LPUART_DATA.
14 Framing Error Flag
FE
FE is set whenever the next character to be read from LPUART_DATA was received with logic 0 detected
where a stop bit was expected. To clear FE, write logic one to the FE.
0 No framing error detected. This does not guarantee the framing is correct.
1 Framing error.
15 Parity Error Flag
PF
PF is set whenever the next character to be read from LPUART_DATA was received when parity is
enabled (PE = 1) and the parity bit in the received character does not agree with the expected parity
value. To clear PF, write a logic one to the PF.
0 No parity error.
1 Parity error.
16–31 This field is reserved.
Reserved This read-only field is reserved and always has the value 0.
This read/write register controls various optional features of the LPUART system. This
register should only be altered when the transmitter and receiver are both disabled.
Address: Base address + 8h offset
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
TXDIR
TXINV
R8T9 R9T8 ORIE NEIE FEIE PEIE TIE TCIE RIE ILIE TE RE RWU SBK
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R 0
DOZEEN
LOOPS
WAKE
RSR
M ILT PE PT
C
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
NOTE: Setting TXINV inverts the LPUART_TX output for all cases: data bits, start and stop bits, break,
and idle.
0 Transmitter disabled.
1 Transmitter enabled.
13 Receiver Enable
RE
Enables the LPUART receiver. When RE is written to 0, this register bit will read as 1 until the receiver
finishes receiving the current character (if any).
0 Receiver disabled.
1 Receiver enabled.
14 Receiver Wakeup Control
RWU
This field can be set to place the LPUART receiver in a standby state. RWU automatically clears when an
RWU event occurs, that is, an IDLE event when CTRL[WAKE] is clear or an address match when
CTRL[WAKE] is set with STAT[RWUID] is clear.
NOTE: RWU must be set only with CTRL[WAKE] = 0 (wakeup on idle) if the channel is currently not idle.
This can be determined by STAT[RAF]. If the flag is set to wake up an IDLE event and the
channel is already idle, it is possible that the LPUART will discard data. This is because the data
must be received or a LIN break detected after an IDLE is detected before IDLE is allowed to be
reasserted.
0 Provided LOOPS is set, RSRC is cleared, selects internal loop back mode and the LPUART does not
use the LPUART_RX pin.
1 Single-wire LPUART mode where the LPUART_TX pin is connected to the transmitter output and
receiver input.
27 9-Bit or 8-Bit Mode Select
M
0 Receiver and transmitter use 8-bit data characters.
1 Receiver and transmitter use 9-bit data characters.
28 Receiver Wakeup Method Select
WAKE
Determines which condition wakes the LPUART when RWU=1:
• Address mark in the most significant bit position of a received data character, or
• An idle condition on the receive pin input signal.
NOTE: In case the LPUART is programmed with ILT = 1, a logic 0 is automatically shifted after a
received stop bit, therefore resetting the idle count.
This register is actually two separate registers. Reads return the contents of the read-only
receive data buffer and writes go to the write-only transmit data buffer. Reads and writes
of this register are also involved in the automatic flag clearing mechanisms for some of
the LPUART status flags.
Address: Base address + Ch offset
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
PARITYE
FRETSC
NOISY
R 0
R9T9 R8T8 R7T7 R6T6 R5T5 R4T4 R3T3 R2T2 R1T1 R0T0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R 0
IREN TNP
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
TXRTSPOL
R 0
RXRTSE
TXRTSE
TXCTSE
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
00 1/OSR.
01 2/OSR.
10 3/OSR.
11 4/OSR.
16–27 This field is reserved.
Reserved This read-only field is reserved and always has the value 0.
28 Receiver request-to-send enable
RXRTSE
Allows the RTS output to control the CTS input of the transmitting device to prevent receiver overrun.
RXEMPT
TXEMPT
RXUF
TXOF
R 0 0
W w1c w1c
Reset 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0
Bit 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
R 0 0 0 TXFIFOSIZE RXFIFOSIZE
RXUFE
TXOFE
TXFE RXFE
RXFLUSH
TXFLUSH
Reset 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1
0 No transmit buffer overflow has occurred since the last time the flag was cleared.
1 At least one transmit buffer overflow has occurred since the last time the flag was cleared.
15 Receiver Buffer Underflow Flag
RXUF
Indicates that more data has been read from the receive buffer than was present. This field will assert
regardless of the value of RXUFE. However, an interrupt will be issued to the host only if RXUFE is set.
This flag is cleared by writing a 1.
0 No receive buffer underflow has occurred since the last time the flag was cleared.
1 At least one receive buffer underflow has occurred since the last time the flag was cleared.
16 Transmit FIFO/Buffer Flush
TXFLUSH
Writing to this field causes all data that is stored in the transmit FIFO/buffer to be flushed. This does not
affect data that is in the transmit shift register.
R RXCOUNT TXCOUNT
RXWATER TXWATER
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Modulo Divide By
OSR
(1 through 8191)
Writing 0 to CTRL[TE] does not immediately disable the transmitter. The current
transmit activity in progress must first be completed (that could include a data character,
idle character or break character), although the transmitter will not start transmitting
another character.
The transmitter's LPUART_RTS signal asserts only when the transmitter is enabled.
However, the transmitter's LPUART_RTS signal is unaffected by its LPUART_CTS
signal. LPUART_RTS will remain asserted until the transfer is completed, even if the
transmitter is disabled mid-way through a data transfer.
RXD RO A
RECEIVER RECEIVER B
RE_B
In the figure, the receiver enable signal is asserted. Another option for this connection is
to connect LPUART_RTS to both DE and RE_B. The transceiver's receiver is disabled
while driving. A pullup can pull LPUART_RX to a non-floating value during this time.
This option can be refined further by operating the LPUART in single wire mode, freeing
the LPUART_RX pin for other uses.
After receiving the stop bit into the receive shifter, and provided the receive data register
is not already full, the data character is transferred to the receive data register and the
receive data register full (LPUART_STAT[RDRF]) status flag is set. If
LPUART_STAT[RDRF] was already set indicating the receive data register (buffer) was
already full, the overrun (OR) status flag is set and the new data is lost. Because the
LPUART receiver is double-buffered, the program has one full character time after
LPUART_STAT[RDRF] is set before the data in the receive data buffer must be read to
avoid a receiver overrun.
When a program detects that the receive data register is full (LPUART_STAT[RDRF] =
1), it gets the data from the receive data register by reading LPUART_DATA. Refer to
Interrupts and status flags for details about flag clearing.
The falling edge detection logic continuously looks for falling edges. If an edge is
detected, the sample clock is resynchronized to bit times (unless resynchronization has
been disabled). This improves the reliability of the receiver in the presence of noise or
mismatched baud rates. It does not improve worst case analysis because some characters
do not have any extra falling edges anywhere in the character frame.
In the case of a framing error, provided the received character was not a break character,
the sampling logic that searches for a falling edge is filled with three logic 1 samples so
that a new start bit can be detected almost immediately.
The IDLE status flag includes logic that prevents it from getting set repeatedly when the
LPUART_RX line remains idle for an extended period of time. IDLE is cleared by
writing 1 to the LPUART_STAT[IDLE] flag. After LPUART_STAT[IDLE] has been
cleared, it cannot become set again until the receiver has received at least one new
character and has set LPUART_STAT[RDRF].
If the associated error was detected in the received character that caused
LPUART_STAT[RDRF] to be set, the error flags - noise flag (LPUART_STAT[NF]),
framing error (LPUART_STAT[FE]), and parity error flag (LPUART_STAT[PF]) - are
set at the same time as LPUART_STAT[RDRF]. These flags are not set in overrun cases.
If LPUART_STAT[RDRF] was already set when a new character is ready to be
transferred from the receive shifter to the receive data buffer, the overrun
(LPUART_STAT[OR]) flag is set instead of the data along with any associated NF, FE,
or PF condition is lost.
At any time, an active edge on the LPUART_RX serial data input pin causes the
LPUART_STAT[RXEDGIF] flag to set. The LPUART_STAT[RXEDGIF] flag is
cleared by writing a 1 to it. This function depends on the receiver being enabled
(LPUART_CTRL[RE] = 1).
The remainder of this chapter refers to a single PCI Express controller offering up to a x4
link interface. Notes are included to indicate variations for multiple instantiations.
NOTE
The LS1043A chip is compatible with the PCI Express Base
Specification, Revision 3.0; however, the physical layer
operates at Gen2 data rates (2.5 or 5 Gbits/s).
NOTE
The EP mode is not supported in LS1043A; any references to
that should be ignored.
SCFG_G0MSIR2 SPI-143
Rsvd 8:15 Rsvd
SCFG_G0MSIR3 SPI-144
Rsvd 16:23 Rsvd
SCFG_G0MSIR4 SPI-145
Rsvd 24:31
SCFG_G1MSIR1 SPI-158
SCFG_G1MSIIR
0:7 Rsvd
SCFG_G1MSIR2 SPI-153
Rsvd 8:15 Rsvd
SCFG_G1MSIR3 SPI-154
Rsvd 16:23 Rsvd
SCFG_G1MSIR4 SPI-155
Rsvd 24:31
SCFG_G2MSIR1 SPI-192
SCFG_G2MSIIR
0:7 Rsvd
SCFG_G2MSIR2 SPI-187
Rsvd 8:15 Rsvd
SCFG_G2MSIR3 SPI-188
Rsvd 16:23 Rsvd
SCFG_G2MSIR4 SPI-189
Rsvd 24:31
28.2 Introduction
The PCI Express interface is compatible with the PCI Express™ Base Specification,
Revision 3.0 (available from http://www.pcisig.org). It is beyond the scope of this manual
to document the intricacies of the PCI Express protocol. This chapter describes the PCI
Express controller of this device and provides a basic description of the PCI Express
protocol. The specific emphasis is directed at how the device implements the PCI Express
specification. Designers of systems incorporating PCI Express devices should refer to the
specification for a thorough description of PCI Express.
NOTE
Much of the available PCI Express literature refers to a 16-bit
quantity as a WORD and a 32-bit quantity as a DWORD. Note
that this is inconsistent with the terminology in the rest of this
manual where the terms 'word' and 'double word' refer to a 32-
bit and 64-bit quantity, respectively. Where necessary to avoid
confusion, the precise number of bits or bytes is specified.
28.2.1 Overview
The PCI Express controller connects the internal platform to a serial interface.
As both an initiator and a target device, the PCI Express interface is capable of high-
bandwidth data transfer and is designed to support next generation I/O devices. Upon
coming out of reset, the PCI Express interface performs link width negotiation and
exchanges flow control credits with its link partner. Once link autonegotiation is
successful, the controller is in operation.
Internally, the design contains queues to keep track of inbound and outbound
transactions. There is control logic that handles buffer management, bus protocol,
transaction spawning and tag generation. In addition, there are memory blocks used to
store inbound and outbound data.
The PCI Express controller operates as a PCI Express Root Complex (RC) device. An
RC device connects the host CPU/memory subsystem to I/O devices. In RC mode, the
PCI Express type 1 configuration header is used.
This figure shows a high-level block diagram of the PCI Express controller.
RX TX
Transaction Layer
Configuration Registers
RX TX
Data Link Layer
RX TX
MAC Layer
SerDes Interface
As an initiator, the PCI Express controller supports memory read and write operations. In
addition, configuration and I/O transactions are supported. As a target interface, the PCI
Express controller accepts read and write operations to local memory space. Message
generation and acceptance are supported. Locked transactions and inbound I/O
transactions are not supported.
In general, transactions are serviced in the order that they are received from the PCI
Express link. Only when there is a stalled condition does the controller apply PCI
Express ordering to outstanding transactions. For posted write transactions, once all data
has been received from the PCI Express link, the data is forwarded to the internal
platform and the transaction is considered as done. For non-posted read transactions, the
controller forwards internal platform data back to the PCI Express link.
Note that the controller splits transactions at the crossing of every 256-byte-aligned
boundary when sending data back to the PCI Express link.
28.2.2 Features
The following is a list of features supported by the PCI Express controller:
• Compatible with the PCI Express™ Base Specification, Revision 3.0
• Supports Root Complex (RC) mode
• 32- and 64-bit PCI Express address support
• 40-bit internal platform address support
• x4, x2, and x1 link support.
• Supports accesses to all PCI Express memory and I/O address spaces (requestor
only)
• Supports posting of processor-to-PCI Express and PCI Express-to-memory writes
• Supports strong and relaxed transaction ordering rules
• Enforces outbound PCI Express ordering rules and inbound internal platform priority
• PCI Express configuration registers (type 1)
• Baseline and advanced error reporting support
• One virtual channel (VC0)
• 256-byte maximum payload size (MAX_PAYLOAD_SIZE)
• Supports 64-bit MSI interrupts. Note that MSI support is provided in the SCFG
module.
• Credit-based flow control management handled by PCI Express core.
• Supports PCI Express messages and interrupts
• Accepts up to 256-byte transactions from the internal platform
• Supports Expansion ROM.
28.4.2.2.1 Offset
Register Offset
Vendor_ID_Register 0h
28.4.2.2.2 Function
The vendor ID register is used to identify the manufacturer of the device.
NOTE
This register is writeable using internal accesses, but is read-
only from inbound configuration accesses by an external host.
28.4.2.2.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R Vendor_ID
W
Reset 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 1
28.4.2.2.4 Fields
Field Function
15-0 Vendor ID
Vendor_ID 0x1957 (NXP)
28.4.2.3.1 Offset
Register Offset
Device_ID_Register 2h
28.4.2.3.2 Function
The device ID register is used to identify the device.
NOTE
This register is writeable using internal accesses, but is read-
only from inbound configuration accesses by an external host.
28.4.2.3.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R Device_ID
W
Reset 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
28.4.2.3.4 Fields
Field Function
15-0 Device ID
1000000010000000b - LS1043A with security
Device_ID
1000000010000001b - LS1043A without security
1000000010001000b - LS1023A with security
1000000010001001b - LS1023A without security
28.4.2.4.1 Offset
Register Offset
Command_Register 4h
28.4.2.4.2 Function
The command register provides control over the ability to generate and respond to PCI
Express cycles.
28.4.2.4.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IO_space
R
Parity_error_response
Interrupt_Disable
Memory_space
Bus_master
Reserved
Reserved
Reserved
Reserved
SER
R
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.4.4 Fields
Field Function
15-11 Reserved
—
10 Interrupt disable
Interrupt_Disabl Controls the ability to generate INTx interrupt messages.
e
Any INTx emulation interrupts already asserted by this device must be deasserted when this bit is set.
0b - Enables INTx interrupt messages
1b - Disables INTx interrupt messages
9 Reserved
—
8 SERR# enable
SERR Controls the reporting of fatal and non-fatal errors detected by the device to the Root Complex.
NOTE: The error control and status bits in the command and status registers control PCI-compatible
error reporting. PCI Express advanced error reporting is controlled by the PCI Express device
control register described in PCI Express Device Control Register (Device_Control_Register)
and the advanced error reporting registers (offsets 100h through 137h).
0b - Disables reporting
1b - Enables reporting
7 Reserved
—
6 Parity error response
Parity_error_res Controls whether this PCI Express controller responds to parity errors.
ponse
NOTE: The error control and status bits in the command and status registers control PCI-compatible
error reporting. PCI Express advanced error reporting is controlled by the PCI Express device
control register described in PCI Express Device Control Register (Device_Control_Register)
and the advanced error reporting registers (offsets 100h through 137h).
0b - Parity errors are ignored and normal operation continues.
1b - Parity errors cause the appropriate bit in the PCI Express status register to be set. However,
note that errors are reported based on the values set in the PCI Express error enable and detection
registers.
Field Function
5-3 Reserved
—
2 Bus master enable
Bus_master Indicates whether this PCI Express device is configured as a master.
RC mode: Clearing this bit disables the ability of the device to forward memory transactions upstream.
This causes any inbound memory transaction to be treated as an unsupported request.
0b - Disables the ability to generate PCI Express accesses
1b - Enables this PCI Express controller to behave as a PCI Express bus master
1 Memory space enable
Memory_space Controls whether this PCI Express device (as a target) responds to memory accesses.
RC mode: This bit is ignored. It does not affect outbound memory transaction
0b - This PCI Express device does not respond to PCI Express memory space accesses.
1b - This PCI Express device responds to PCI Express memory space accesses.
0 I/O space enable
IO_space RC mode: This bit is ignored. It does not affect outbound IO transaction.
0b - This PCI Express device (as a target) does not respond to PCI Express I/O space accesses.
1b - This PCI Express device (as a target) does respond to PCI Express I/O space accesses.
28.4.2.5.1 Offset
Register Offset
Status_Register 6h
28.4.2.5.2 Function
The status register is used to record status information for PCI Express related events.
28.4.2.5.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
W1C Master_data_parity_error_detected
Received_master_abort
Signaled_system_error
Received_target_abort
Signaled_target_abort
Detected_parity_error
Capabilities_List
Interrupt_Status
R
Reserved
Reserved
Reserved
W1C
W1C
W1C
W1C
W1C
W1C
W1C
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
28.4.2.5.4 Fields
Field Function
15 Detected parity error
Detected_parity Set whenever a device receives a poisoned TLP regardless of the state of bit 6 in the command register.
_error 1
Field Function
7-5 Reserved
—
4 Capabilities list
Capabilities_List All PCI Express devices are required to implement the PCI Express capability structure.
3 Interrupt status
Interrupt_Status Set when an INTx interrupt message is pending internally to the device.
Note that this bit is associated with INTx messages and not Message Signaled Interrupts.
2-0 Reserved
—
1. The error control and status bits in the command and status registers control PCI-compatible error reporting. PCI Express
advanced error reporting is controlled by the PCI Express device control register described in PCI Express Device Control
Register (Device_Control_Register) and the advanced error reporting capability structure starting at offset 100h.
28.4.2.6.1 Offset
Register Offset
Revision_ID_Register 8h
28.4.2.6.2 Function
The revision ID register is used to identify the revision of the device.
NOTE
This register is writeable using internal accesses, but is read-
only from inbound configuration accesses by an external host.
For Si 1.1, the revision ID is 0x11.
For Si 1.0, the revision ID is 0x10.
28.4.2.6.3 Diagram
Bits 7 6 5 4 3 2 1 0
R Revision_ID
W
Reset 0 0 0 1 0 0 0 1
28.4.2.6.4 Fields
Field Function
7-0 Revision ID
Revision_ID Revision specific.
28.4.2.7.1 Offset
Register Offset
Class_Code_Register 9h
28.4.2.7.2 Function
The class code register is comprised of three single-byte fields—base class (offset 0x0B),
sub-class (offset 0x0A), and programming interface (offset 0x09)—that indicate the basic
functionality of the function.
NOTE
This register is writeable using internal accesses, but is read-
only from inbound configuration accesses by an external host.
28.4.2.7.3 Diagram
Bits 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8
R Base_Class Sub_Class
W
Reset 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0
Bits 7 6 5 4 3 2 1 0
R Programming_Interface
W
Reset 0 0 0 0 0 0 0 0
28.4.2.7.4 Fields
Field Function
23-16 Base Class
Base_Class 0x0B-Processor
15-8 Sub-Class
Sub_Class
7-0 Programming_Interface
Programming_In
terface
28.4.2.8.1 Offset
Register Offset
Cache_Line_Size_Regi Ch
ster
28.4.2.8.2 Function
The cache line size register is provided for legacy compatibility purposes (PCI 2.3); it is
not used for PCI Express device functionality.
28.4.2.8.3 Diagram
Bits 7 6 5 4 3 2 1 0
R
Cache_Line_Size
W
Reset 0 0 0 0 0 0 0 0
28.4.2.8.4 Fields
Field Function
7-0 Cache Line Size
Field Function
Cache_Line_Siz Represents the cache line size of the processor in terms of 32-bit words (8 32-bit words = 32 bytes). Note
e that for PCI Express operation this register is ignored.
28.4.2.9.1 Offset
Register Offset
Latency_Timer_Register Dh
28.4.2.9.2 Function
The latency timer register is provided for legacy compatibility purposes (PCI 2.3); it is
not used for PCI Express device functionality.
28.4.2.9.3 Diagram
Bits 7 6 5 4 3 2 1 0
R Latency_Timer
W
Reset 0 0 0 0 0 0 0 0
28.4.2.9.4 Fields
Field Function
7-0 Latency_Timer
Latency_Timer Note that for PCI Express operation this register is ignored.
28.4.2.10.1 Offset
Register Offset
Header_Type_Register Eh
28.4.2.10.2 Function
The PCI Express header type register is used to identify the layout of the PCI compatible
header.
28.4.2.10.3 Diagram
Bits 7 6 5 4 3 2 1 0
Header_Layout
Multifunction
W
Reset 0 0 0 0 0 0 0 1
28.4.2.10.4 Fields
Field Function
7 Multifunction
Multifunction Identifies whether a device supports multiple functions
0b - Single function device
1b - Multiple function device
6-0 Header Layout
Header_Layout All other encodings reserved.
0000001b - Root Complex - Type 1 layout.
28.4.2.11.1 Offset
Register Offset
BAR0 10h
28.4.2.11.2 Function
The PCI Express base address registers (BARs) point to the beginning of distinct address
ranges which the device should claim.
28.4.2.11.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
ADDRESS
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
ADDRES
Reserved
MemSp
PRE
TYP
W
E
S
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.11.4 Fields
Field Function
31-12 Base address
ADDRESS Indicates the base address of the inbound memory window 0. The default size is 16 MB.
11-4 Reserved
—
3 Prefetchable
PREF
2-1 Type
00b - Locate anywhere in 32-bit address space.
TYPE
0 Memory space indicator
MemSp Base Address registers that map to Memory Space must return a 0 in bit 0.
Base Address registers that map to I/O Space must return a 1 in bit 0.
28.4.2.12.1 Offset
Register Offset
Primary_Bus_Number_R 18h
egister
28.4.2.12.2 Function
This register is present only in the Type 1 Header (RC mode).
28.4.2.12.3 Diagram
Bits 7 6 5 4 3 2 1 0
R
Primary_Bus_Number
W
Reset 0 0 0 0 0 0 0 0
28.4.2.12.4 Fields
Field Function
7-0 Primary Bus Number
Primary_Bus_N Bus that is connected to the upstream interface. Note that this register is programmed during system
umber enumeration; in RC mode this register should remain 0x00.
28.4.2.13.1 Offset
Register Offset
Secondary_Bus_Number 19h
_Register
28.4.2.13.2 Function
This register is present only in the Type 1 Header (RC mode).
28.4.2.13.3 Diagram
Bits 7 6 5 4 3 2 1 0
R
Secondary_Bus_Number
W
Reset 0 0 0 0 0 0 0 0
28.4.2.13.4 Fields
Field Function
7-0 Secondary Bus Number
Secondary_Bus Bus that is directly connected to the downstream interface. Note that this register is programmed during
_Number system enumeration; in RC mode, this register is typically programmed to 0x01.
28.4.2.14.1 Offset
Register Offset
Subordinate_Bus_Numb 1Ah
er_Register
28.4.2.14.2 Function
This register is present only in the Type 1 Header (RC mode).
28.4.2.14.3 Diagram
Bits 7 6 5 4 3 2 1 0
R
Subordinate_Bus_Number
W
Reset 0 0 0 0 0 0 0 0
28.4.2.14.4 Fields
Field Function
7-0 Subordinate Bus Number
Subordinate_Bu Highest bus number that is on the downstream interface.
s_Number
28.4.2.15.1 Offset
Register Offset
IO_Base_Register 1Ch
28.4.2.15.2 Function
This register is present only in the Type 1 Header (RC mode).
Note that this device does not support inbound I/O transactions.
28.4.2.15.3 Diagram
Bits 7 6 5 4 3 2 1 0
Address_Decode_Type
IO_Start_Address
W
Reset 0 0 0 0 0 0 0 1
28.4.2.15.4 Fields
Field Function
7-4 I/O Start Address
IO_Start_Addres Specifies bits 15:12 of the I/O space start address
s
3-0 Address Decode Type
Address_Decod Specifies the number of I/O address bits.
e_Type
All other settings are reserved.
0000b - 16-bit I/O address decode
0001b - 32-bit I/O address decode
28.4.2.16.1 Offset
Register Offset
IO_Limit_Register 1Dh
28.4.2.16.2 Function
This register is present only in the Type 1 Header (RC mode).
Note that this device does not support inbound I/O transactions.
28.4.2.16.3 Diagram
Bits 7 6 5 4 3 2 1 0
Address_Decode_Type
IO_Limit_Address
W
Reset 0 0 0 0 0 0 0 1
28.4.2.16.4 Fields
Field Function
7-4 I/O Limit Address
IO_Limit_Addres Specifies bits 15:12 of the I/O space ending address
s
3-0 Address Decode Type
Address_Decod Specifies the number of I/O address bits.
e_Type
All other settings are reserved.
0000b - 16-bit I/O address decode
0001b - 32-bit I/O address decode
28.4.2.17.1 Offset
Register Offset
Secondary_Status_Reg 1Eh
ister
28.4.2.17.2 Function
This register is present only in the Type 1 Header (RC mode).
28.4.2.17.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
W1C MDPE
RMA
RTA
STA
R
SS
DP
Reserved
Reserved
E
E
W1C
W1C
W1C
W1C
W1C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.17.4 Fields
Field Function
15 Detected parity error
DPE This bit is set whenever the secondary side receives a poisoned TLP regardless of the state of the parity
error response bit.
14 Signaled system error
SSE This bit is set when a device sends a ERR_FATAL or ERR_NONFATAL message, provided the SERR
enable bit in the command register is set to enable reporting.
13 Received master abort
RMA This bit is set when the secondary side receives an unsupported request (UR) completion.
12 Received target abort
RTA This bit is set when the secondary side receives a completer abort (CA) completion.
11 Signaled target abort
STA This bit is set when the secondary side issues a CA completion.
10-9 Reserved
—
8 Master data parity error
MDPE This bit is set when the parity error response bit is set and the secondary side requester receives a
poisoned completion or poisons a write request. If the parity error response bit is cleared, this bit is never
set.
7-0 Reserved
—
28.4.2.18.1 Offset
Register Offset
Memory_Base_Register 20h
28.4.2.18.2 Function
This register is present only in the Type 1 Header (RC mode).
28.4.2.18.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Memory_Base Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.18.4 Fields
Field Function
15-4 Memory base address
Memory_Base Specifies bits 31:20 of the non-prefetchable memory space start address. Typically used for specifying
memory-mapped I/O space.
NOTE: Inbound posted transactions hitting into the mem base/limit range are ignored; inbound non-
posted transactions hitting into the mem base/limit range results in an unsupported request
response.
3-0 Reserved
—
28.4.2.19.1 Offset
Register Offset
Memory_Limit_Register 22h
28.4.2.19.2 Function
This register is present only in the Type 1 Header (RC mode).
28.4.2.19.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Memory_Limit Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.19.4 Fields
Field Function
15-4 Memory limit address
Memory_Limit Specifies bits 31:20 of the non-prefetchable memory space ending address. Typically used for specifying
memory-mapped I/O space.
NOTE: Inbound posted transactions hitting into the mem base/limit range are ignored; inbound non-
posted transactions hitting into the mem base/limit range results in unsupported request
response.
3-0 Reserved
—
28.4.2.20.1 Offset
Register Offset
Prefetchable_Memory_ 24h
Base_Register
28.4.2.20.2 Function
This register is present only in the Type 1 Header (RC mode).
28.4.2.20.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Address_Decode_Type
PF_Memory_Base
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
28.4.2.20.4 Fields
Field Function
15-4 Prefetchable memory base address
PF_Memory_Ba Specifies bits 31:20 of the prefetchable memory space start address.
se
3-0 Address Decode Type
Address_Decod Specifies the number of prefetchable memory address bits.
e_Type
All other settings reserved.
0000b - 32-bit memory address decode
0001b - 64-bit memory address decode
28.4.2.21.1 Offset
Register Offset
Prefetchable_Memory_ 26h
Limit_Register
28.4.2.21.2 Function
This register is present only in the Type 1 Header (RC mode).
28.4.2.21.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Address_Decode_Type
PF_Memory_Limit
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
28.4.2.21.4 Fields
Field Function
15-4 Prefetchable memory limit address
PF_Memory_Li Specifies bits 31:20 of the prefetchable memory space ending address.
mit
3-0 Address decode type
Address_Decod Specifies the number of prefetchable memory address bits.
e_Type
All other settings reserved.
0000b - 32-bit memory address decode
0001b - 64-bit memory address decode
28.4.2.22.1 Offset
Register Offset
Prefetchable_Base_Up 28h
per_32_Bits_Register
28.4.2.22.2 Function
This register is present only in the Type 1 Header (RC mode).
28.4.2.22.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
PF_Base_Upper_32_Bits
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
PF_Base_Upper_32_Bits
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.22.4 Fields
Field Function
31-0 Prefetchable memory base address (upper portion)
PF_Base_Upper Specifies bits 64:32 of the prefetchable memory space start address when the address decode type field
_32_Bits in the prefetchable memory base register is 0x01.
28.4.2.23.1 Offset
Register Offset
Prefetchable_Limit_U 2Ch
pper_32_Bits_Register
28.4.2.23.2 Function
This register is present only in the Type 1 Header (RC mode).
28.4.2.23.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
PF_Limit_Upper_32_Bits
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
PF_Limit_Upper_32_Bits
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.23.4 Fields
Field Function
31-0 Prefetchable memory limit address (upper portion)
PF_Limit_Upper Specifies bits 64-32 of the prefetchable memory space ending address when the address decode type
_32_Bits field in the prefetchable memory limit register is 0x01.
28.4.2.24.1 Offset
Register Offset
IO_Base_Upper_16_Bit 30h
s_Register
28.4.2.24.2 Function
This register is present only in the Type 1 Header (RC mode).
Note that this device does not support inbound I/O transactions.
28.4.2.24.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R IO_Base_Upper_16_Bits
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.24.4 Fields
Field Function
15-0 I/O base address (upper portion)
IO_Base_Upper Specifies bits 31-16 of the I/O space start address when the address decode type field in the I/O base
_16_Bits register is 0x01.
28.4.2.25.1 Offset
Register Offset
IO_Limit_Upper_16_Bits_ 32h
Register
28.4.2.25.2 Function
This register is present only in the Type 1 Header (RC mode).
Note that this device does not support inbound I/O transactions.
28.4.2.25.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R IO_Limit_Upper_16_Bits
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.25.4 Fields
Field Function
15-0 I/O limit address (upper portion)
IO_Limit_Upper Specifies bits 31-16 of the I/O space ending address when the address decode type field in the I/O limit
_16_Bits register is 0x01.
28.4.2.26.1 Offset
Register Offset
Capabilities_Pointer_Reg 34h
ister
28.4.2.26.2 Function
The capabilities pointer identifies additional functionality supported by the device.
28.4.2.26.3 Diagram
Bits 7 6 5 4 3 2 1 0
R Capabilities_Pointer
W
Reset 0 1 0 0 0 0 0 0
28.4.2.26.4 Fields
Field Function
7-0 Capabilities Pointer
Capabilities_Poi The capabilities pointer provides the offset for additional PCI-compatible registers above the common 64-
nter byte header.
28.4.2.27.1 Offset
Register Offset
Expansion_ROM_BAR_ 38h
Type1
28.4.2.27.2 Function
The Expansion ROM Base Address register is located at offset 0x38 in the Type 1
Header (RC mode).
28.4.2.27.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
ROM_Base_Address
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
ROM_Base_Address
ROMBAR_EN
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.27.4 Fields
Field Function
31-11 Expansion ROM base address
ROM_Base_Ad Specifies bits 31:11 of the non-prefetchable expansion ROM space start address. Typically used for
dress specifying memory-mapped I/O space. The default size is 16M.
10-1 Reserved
—
0 Expansion ROM enable
ROMBAR_EN This bit controls whether or not the device accepts accesses to its expansion ROM
0b - The expansion ROM address space is disabled.
1b - Address decoding is enabled.
28.4.2.28.1 Offset
Register Offset
Interrupt_Line_Register 3Ch
28.4.2.28.2 Function
The interrupt line register is used by device drivers and OS software to communicate
interrupt line routing information. Values in this register are programmed by system
software and are system specific.
28.4.2.28.3 Diagram
Bits 7 6 5 4 3 2 1 0
R
Interrupt_Line
W
Reset 1 1 1 1 1 1 1 1
28.4.2.28.4 Fields
Field Function
7-0 Interrupt line
Interrupt_Line Used to communicate interrupt line routing information.
28.4.2.29.1 Offset
Register Offset
Interrupt_Pin_Register 3Dh
28.4.2.29.2 Function
The interrupt pin register identifies the legacy interrupt (INTx) messages the device (or
function) uses.
28.4.2.29.3 Diagram
Bits 7 6 5 4 3 2 1 0
R Interrupt_pin
W
Reset 0 0 0 0 0 0 0 1
28.4.2.29.4 Fields
Field Function
7-0 Interrupt pin
Interrupt_pin Legacy INTx message used by this device.
All other settings reserved.
00000000b - This device does not use legacy interrupt (INTx) messages.
00000001b - INTA
28.4.2.30.1 Offset
Register Offset
Bridge_Control_Register 3Eh
28.4.2.30.2 Function
This register is present only in the Type 1 Header (RC mode).
28.4.2.30.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Scnd_RST
VGA_EN
Reserved
Reserved
SERR_E
ISA_E
PE
W R
N
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.30.4 Fields
Field Function
15-7 Reserved
—
6 Secondary bus reset
Table continues on the next page...
Field Function
Scnd_RST
5-4 Reserved
—
3 VGA enable
VGA_EN
2 ISA enable
ISA_EN
1 SERR enable
SERR_EN This bit controls the propagation of ERR_COR, ERR_NONFATAL, and ERR_FATAL responses received
on the secondary side.
0 Parity error response
PER This bit controls the logging of poisoned TLPs in the Master Data Parity Error bit in the Secondary Status
register.
28.4.2.31.1 Offset
Register Offset
Power_Management_ 40h
Capability_ID_Register
28.4.2.31.2 Diagram
Bits 7 6 5 4 3 2 1 0
R Power_Mgmt_Capability_ID
W
Reset 0 0 0 0 0 0 0 1
28.4.2.31.3 Fields
Field Function
7-0 CAP_ID
Power_Mgmt_C Power Management = 0x01
apability_ID
28.4.2.32.1 Offset
Register Offset
Power_Management_ 42h
Capabilities_Register
28.4.2.32.2 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PME_Support
PME_CLK
AUX_Curr
Version
Reserved
R
D2
D1
DS
I
W
Reset 0 1 1 1 1 1 1 0 0 0 1 0 0 0 1 1
28.4.2.32.3 Fields
Field Function
15-11 PME support
PME_Support Indicates the power states that this device supports
10 D2 support
D2
9 D1 support
D1
8-6 AUX Current
AUX_Curr
5 Device Specific Initialization
DSI
4 Reserved
—
3 PME clock
PME_CLK Does not apply to PCI Express.
Field Function
2-0 Version
Version
28.4.2.33.1 Offset
Register Offset
Power_Management_Sta 44h
tus_and_Control_Regi
ster
28.4.2.33.2 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
W1C PME_STAT
Power_State
Data_Select
Data_Scale
R
Reserved
PME_E
N
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.33.3 Fields
Field Function
15 PME Status
PME_STAT
14-13 Data Scale
Data_Scale Obtained directly from the PCI Express base specification.
12-9 Data Select
Data_Select Obtained directly from the PCI Express base specification.
8 PME_En
PME_EN PME Enable.
Table continues on the next page...
Field Function
NOTE: Bitfield access is sticky.
7-2 Reserved
—
1-0 Power State
Power_State Indicates the current power state of the function.
00b - D0
01b - D1
10b - D2
11b - D3
28.4.2.34.1 Offset
Register Offset
Power_Management_Dat 47h
a_Register
28.4.2.34.2 Diagram
Bits 7 6 5 4 3 2 1 0
R Data
W
Reset 0 0 0 0 0 0 0 0
28.4.2.34.3 Fields
Field Function
7-0 Data
Data Obtained from the PCI Express base specification.
28.4.2.35.1 Offset
Register Offset
Capability_ID_Register 70h
28.4.2.35.2 Diagram
Bits 7 6 5 4 3 2 1 0
PCI_Express_Capability_ID
W
Reset 0 0 0 1 0 0 0 0
28.4.2.35.3 Fields
Field Function
7-0 Capability ID
PCI_Express_C PCI Express = 0x10
apability_ID
28.4.2.36.1 Offset
Register Offset
Capabilities_Register 72h
28.4.2.36.2 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Interrupt_Message_Number
Device_Port_Type
Capability_Version
Reserved
Slot
R
W
Reset 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0
28.4.2.36.3 Fields
Field Function
15-14 Reserved
—
13-9 Interrupt Message Number
Interrupt_Messa If this function is allocated more than one MSI interrupt number, then this register is required to contain
ge_Number the offset between the base Message Data and the MSI Message that is generated when any of the
status bits in either the Slot Status register or the Root Port Status register, of this capability structure, are
set.
8 Slot Implemented
Slot (RC mode only)
7-4 Device/Port Type
0100b - (RC mode)
Device_Port_Ty
pe
3-0 Capability Version
Capability_Versi Indicates the defined PCI Express capability structure version number.
on
28.4.2.37.1 Offset
Register Offset
Device_Capabilities_Regi 74h
ster
28.4.2.37.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CSPLV
CSPL
Reserved
Reserved
R
FLR
C
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MAX_PL_SIZE_SUP
EP_L0s_LAT
EP_L1_LAT
PHAN_FCT
Reserved
RBE
E
T
R
W
Reset 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
28.4.2.37.3 Fields
Field Function
31-29 Reserved
—
28 Function Level Reset Capability
FLRC For RC mode, the reset value for this bit is 0.
27-26 Captured Slot Power Limit Scale
CSPLS
25-18 Captured Slot Power Limit Value
CSPLV For RC mode, the reset value for this field is 00h.
17-16 Reserved
—
15 Role-Based Error Reporting
RBER
Field Function
14-12 Reserved. System software must ignore the value read from these bits. System software is permitted to
write any value to these bits.
—
11-9 Endpoint L1 Acceptable Latency
EP_L1_LAT
8-6 Endpoint L0s Acceptable Latency
EP_L0s_LAT
5 Extended Tag Field Supported
ET
4-3 Phantom Functions Supported
PHAN_FCT
2-0 Max_Payload_Size Supported
MAX_PL_SIZE_ Maximum payload size supported. 001 = 256-bytes
SUP
28.4.2.38.1 Offset
Register Offset
Device_Control_Register 78h
28.4.2.38.2 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
MAX_PAYLOAD_SIZE
MAX_READ_SIZE
RO
NFE
EN
IFL
PF
ET
UR
FE
CE
AP
W
E
E
S
R
R
Reset 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0
28.4.2.38.3 Fields
Field Function
15 Initiate Function Level Reset
IFLR
14-12 Maximum_Read_Request_Size
MAX_READ_SI
ZE
11 Enable No Snoop
ENS
10 AUX Power PM Enable
APE
9 Phantom Functions Enable
PFE
8 Extended Tag Field Enable
ETE
7-5 Max_Payload_Size
MAX_PAYLOAD Maximum payload size
_SIZE
4 Enable Relaxed Ordering
RO
3 Unsupported Request Reporting Enable
URR
2 Fatal Error Reporting Enable
FER
1 Non-Fatal Error Reporting Enable
NFER
0 Correctable Error Reporting Enable
CER
28.4.2.39.1 Offset
Register Offset
Device_Status_Register 7Ah
28.4.2.39.2 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
W1C URD
CED
APD
W1C NFE
R
TP
Reserved
FE
D
D
W1C
W1C
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.39.3 Fields
Field Function
15-6 Reserved
—
5 Transactions Pending
TP
4 AUX Power Detected
APD
3 Unsupported Request Detected
URD
2 Fatal Error Detected
FED
1 Non-Fatal Error Detected
NFED
0 Correctable Error Detected
CED
28.4.2.40.1 Offset
Register Offset
Link_Capabilities_Regist 7Ch
er
28.4.2.40.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SD_ERR_RPT_CA
L1_EX_LAT
Port_Number
DLLARC
LBWN
Reserved
CPM
AOC
R
P
W
Reset 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MAX_LINK_SP
MAX_LINK_W
L0s_EX_LAT
L1_EX_LAT
ASPM
W
Reset 1 1 1 1 0 1 0 0 1 0 0 0 0 0 1 1
28.4.2.40.3 Fields
Field Function
31-24 Port Number
Port_Number This field indicates the PCI Express Port number for the given PCI Express Link
23 Reserved
—
22 ASPM Optionality Compliance
AOC Software is permitted to use the value of this bit to help determine whether to enable ASPM or whether to
run ASPM compliance tests.
21 Link Bandwidth Notification Capability
LBWN In RC-mode it is hardwired to 1.
20 Data Link Layer Active Reporting Capable
DLLARC Set to 1 when in RC.
19 Surprise Down Error Reporting Capable
SD_ERR_RPT_
CAP
18 Clock Power Management
CPM
17-15 L1 Exit Latency
L1_EX_LAT
Field Function
14-12 L0s Exit Latency
L0s_EX_LAT
11-10 Active State Power Management (ASPM) Support
ASPM
9-4 Maximum Link Width
MAX_LINK_W
3-0 Maximum Link Speed
0001b - 2.5 GT/s link
MAX_LINK_SP
0010b - 5.0 GT/s
28.4.2.41.1 Offset
Register Offset
Link_Control_Register 80h
28.4.2.41.2 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
HW_AUTO_WIDTH_DIS
ASPM_CTL
EXT_SYN
Reserved
Reserved
LBMIE
LABIE
ECPM
RCB
CCC
LD
W
R
L
C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
28.4.2.41.3 Fields
Field Function
15-12 Reserved
—
11 Link Autonomous Bandwidth Interrupt Enable
Table continues on the next page...
Field Function
LABIE
10 Link Bandwidth Management Interrupt Enable
LBMIE
9 Hardware Autonomous Width Disable
HW_AUTO_WID
TH_DIS
8 Enable Clock Power Management
ECPM
7 Extended Synch
EXT_SYNC
6 Common Clock Configuration
CCC
5 Retrain Link
RL In RC mode, setting this bit initiates link retraining by directing the Physical Layer LTSSM to the Recovery
state; reads of this bit always return 0.
4 Link Disable
LD
3 Read Completion Boundary (RCB)
RCB
2 Reserved
—
1-0 Active State Power Management (ASPM) Control
ASPM_CTL
28.4.2.42.1 Offset
Register Offset
Link_Status_Register 82h
28.4.2.42.2 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NEG_LINK_W
LINK_SP
LBMS
SCC
R
LAB
LT
Reserved
Reserved
S
W1C
W1C
Reset 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.42.3 Fields
Field Function
15 Link Autonomous Bandwidth Status
LABS NOTE: This bit is write-1-clear in RC mode
14 Link Bandwidth Management Status
LBMS NOTE: This bit is write-1-clear in RC mode.
13 Reserved
—
12 Slot Clock Configuration
SCC
11 Link Training
LT
10 Reserved.
—
9-4 Negotiated link width
NEG_LINK_W All other encodings are reserved. The value in this field is undefined when the link is not up.
000001b - x1
000010b - x2
000100b - x4
3-0 Current Link Speed
0001b - 2.5 GT/s
LINK_SP
0010b - 5.0 GT/s
28.4.2.43.1 Offset
Register Offset
Slot_Capabilities_Regist 84h
er
28.4.2.43.2 Function
This register is supported only for RC mode.
28.4.2.43.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Physical_Slot_Number
NOCMDCPLSUP
EMIP
SPL
R
S
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MRLS
HPD
PCP
ABP
PIP
SPL
AIP
R
SPL
HP
S
S
P
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.43.4 Fields
Field Function
31-19 Physical Slot Number
Physical_Slot_N This field indicates the physical slot number attached to this Port. This field must be hardware initialized
umber to a value that assigns a slot number that is globally unique within the chassis. This field must be
initialized to 0 for Ports connected to devices that are either integrated on the system board or integrated
within the same silicon as the Switch device or Root Port.
18 No Command Completed Support
NOCMDCPLSU
P
Field Function
17 Electromechanical Interlock Present
EMIP
16-15 Slot Power Limit Scale
SPLS
14-7 Slot Power Limit Value
SPLV
6 Hot-Plug Capable
HPD Note: This chip does not support hot-plug capabilities.
5 Hot-Plug Surprise
HPS Note: This chip does not support hot-plug capabilities.
4 Power Indicator Present
PIP Note: This chip does not support hot-plug capabilities.
3 Attention Indicator Present
AIP Note: This chip does not support hot-plug capabilities.
2 MRL Sensor Present
MRLSP Note: This chip does not support hot-plug capabilities.
1 Power Controller Present
PCP Note: This chip does not support hot-plug capabilities.
0 Attention Button Present
ABP Note: This chip does not support hot-plug capabilities.
28.4.2.44.1 Offset
Register Offset
Slot_Control_Register 88h
28.4.2.44.2 Function
This register is supported only for RC mode.
28.4.2.44.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DLLSTCHGEN
Reserved
EMICTL
MRLSC
PDCE
CCIE
PCC
PIC
AIC
PFD
ABP
HPI
W
E
E
Reset 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0
28.4.2.44.4 Fields
Field Function
15-13 Reserved
—
12 Data Link Layer State Changed Enable
DLLSTCHGEN Note: This chip does not support hot-plug capabilities.
11 Electromechanical Interlock Control
EMICTL Note: This chip does not support hot-plug capabilities.
10 Power Controller Control
PCC Note: This chip does not support hot-plug capabilities.
9-8 Power Indicator Control
PIC Note: This chip does not support hot-plug capabilities.
7-6 Attention Indicator Control
AIC Note: This chip does not support hot-plug capabilities.
5 Hot-Plug Interrupt Enable
HPIE Note: This chip does not support hot-plug capabilities.
4 Command Completed Interrupt Enable
CCIE Note: This chip does not support hot-plug capabilities.
3 Presence Detect Changed Enable
PDCE Note: This chip does not support hot-plug capabilities.
2 MRL Sensor Changed Enable
MRLSCE Note: This chip does not support hot-plug capabilities.
1 Power Fault Detected Enable
PFDE Note: This chip does not support hot-plug capabilities.
0 Attention Button Pressed Enable
ABPE Note: This chip does not support hot-plug capabilities.
28.4.2.45.1 Offset
Register Offset
Slot_Status_Register 8Ah
28.4.2.45.2 Function
This register is supported only for RC mode.
28.4.2.45.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
W1C DLLSTCHG
EM_IL_ST
MRLSC
MRLS
PDC
PFD
ABP
CC
R
PD
Reserved
W1C
W1C
W1C
W1C
W1C
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
28.4.2.45.4 Fields
Field Function
15-9 Reserved
—
8 Data Link Layer State Changed
DLLSTCHG
7 Electromechanical Interlock Status
EM_IL_ST
6 Presence Detect State
PDS This bit indicates the presence of an adapter in the slot, reflected by the logical OR of the Physical Layer
in-band presence detect mechanism and, if present, any out-of-band presence detect mechanism defined
for the slotâs corresponding form factor. Note that the in-band presence detect mechanism requires that
power be applied to an adapter for its presence to be detected. Consequently, form factors that require a
power controller for hot-plug must implement a physical pin presence detect mechanism.
This register must be implemented on all Downstream Ports that implement slots. For Downstream Ports
not connected to slots (where the Slot Implemented bit of the PCI Express Capabilities register is 0b), this
bit must return 1b.
Defined encodings are:
Table continues on the next page...
Field Function
0b - Slot Empty
1b - Card Present in slot
5 MRL Sensor State
0b - MRL closed
MRLSS
1b - MRL open
4 Command Completed
CC
3 Presence Detect Changed
PDC
2 MRL Sensor Changed
MRLSC
1 Power Fault Detected
PFD
0 Attention Button Pressed
ABP
28.4.2.46.1 Offset
Register Offset
Root_Control_Register 8Ch
28.4.2.46.2 Function
This register is supported only for RC mode.
28.4.2.46.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
CRSSWV
Reserved
SENFE
SEFE
SECE
PMEI
W
E
E
E
E
E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.46.4 Fields
Field Function
15-5 Reserved
—
4 CRS Software Visibility Enable
CRSSWVE
3 PME Interrupt Enable
PMEIE
2 System Error on Fatal Error Enable
SEFEE
1 System Error on Non-Fatal Error Enable
SENFEE
0 System Error on Correctable Error Enable
SECEE
28.4.2.47.1 Offset
Register Offset
Root_Capabilities_Regist 8Eh
er
28.4.2.47.2 Function
This register is supported only for RC mode.
28.4.2.47.3 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
Reserved
CRSSW
W
V
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.47.4 Fields
Field Function
15-1 Reserved
—
0 CRS Software Visibility
CRSSWV
28.4.2.48.1 Offset
Register Offset
Root_Status_Register 90h
28.4.2.48.2 Function
This register is supported only for RC mode.
28.4.2.48.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
W1C PME
R
Reserved
PMEP
S
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
PME_requester_ID
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.48.4 Fields
Field Function
31-18 Reserved
Table continues on the next page...
Field Function
—
17 PME Pending
PMEP
16 PME Status
PMES
15-0 PME Requester ID
PME_requester
_ID
28.4.2.49.1 Offset
Register Offset
Device_Capabilities_2_ 94h
Register
28.4.2.49.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CPL_TO_RS
CPL_TO_DS
ARI_FWD
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1
28.4.2.49.3 Fields
Field Function
31-6 Reserved
Table continues on the next page...
QorIQ LS1043A Reference Manual, Rev. 4, 6/2018
NXP Semiconductors 1643
Memory map/register overview
Field Function
—
5 ARI Forwarding Supported
ARI_FWD
4 Completion Timeout Disable Supported
CPL_TO_DS
3-0 Completion Timeout Ranges Supported
CPL_TO_RS
28.4.2.50.1 Offset
Register Offset
Device_Control_2_Reg 98h
ister
28.4.2.50.2 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R
IDO_REQ_EN
IDO_CPL_EN
CPL_TO_VAL
CPL_TOD
Reserved
Reserved
ARIF
W
E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.50.3 Fields
Field Function
15-10 Reserved
—
9 IDO Completion Enable
IDO_CPL_EN
8 IDO Request Enable
IDO_REQ_EN
Field Function
7-6 Reserved
—
5 ARI Forwarding Enable
ARIFE Must be set when RC is communicating with ARI devices. When set will allow RC to issue configuration
type 0 cycles with device number != 0.
4 Completion Timeout Disable
CPL_TOD
3-0 Completion Timeout Value
CPL_TO_VAL
28.4.2.51.1 Offset
Register Offset
Link_Capabilities_2_Regi 9Ch
ster
28.4.2.51.2 Function
The PCI Express link capability 2 register is shown below.
28.4.2.51.3 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R
Reserved
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Support_Link_Speed_Vector
Crosslink_Supported
Reserved
Reserved
R
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
28.4.2.51.4 Fields
Field Function
31-9 Reserved
—
8 Crosslink Supported
Crosslink_Supp
orted
7-1 Supported Link Speeds Vector
Support_Link_S This field indicates the supported Link speed(s) of the associated Port. For each bit, a value of 1 indicates
peed_Vector that the corresponding Link speed is supported; otherwise, the Link speed is not supported. Bit definitions
are:
Bit 1 2.5 GT/s
Bit 2 5.0 GT/s
Bit 3 8.0 GT/s
Bits 7:4 Reserved
0 Reserved
—
28.4.2.52.1 Offset
Register Offset
Link_Control_2_Register A0h
28.4.2.52.2 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HWASD
CDE
EMC
CSO
TxM
T_L
SD
C
E
W
S
S
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
28.4.2.52.3 Fields
Field Function
15-12 Compliance Preset/De-emphasis
CDE
11 Compliance SOS
CSOS
10 Enter Modified Compliance
EMC
9-7 Transmit Margin
TxM
6 Selectable De-emphasis
SDE
5 Hardware Autonomous Speed Disable
HWASD
4 Enter Compliance
EC
3-0 Target Link Speed
T_LS
28.4.2.53.1 Offset
Register Offset
Link_Status_2_Register A2h
28.4.2.53.2 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DE_LVL
Reserved
EP3
EP2
EP1
R
LE
C
E
R
S
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28.4.2.53.3 Fields
Field Function
15-6 Reserved
—
5 Link Equalization Request
LER
4 Equalization Phase 3 Successful
EP3S
3 Equalization Phase 2 Successful
EP2S
2 Equalization Phase 1 Successful
EP1S
1 Equalization Complete
EC
0 Current De-emphasis Level
DE_LVL
28.4.2.54.1 Offset
Register Offset
Advanced_Error_Repor 100h
ting_Capability_ID_Regis
ter
28.4.2.54.2 Diagram
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R Capability_ID
W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
28.4.2.54.3 Fields
Field Function
15-0 PCI Express Extended Capability ID
Capability_ID 0x0001 = Advanced error reporting capability
28.4.2.55.1 Offset
Register Offset
Uncorrectable_Error_Stat 104h
us_Register
28.4.2.55.2 Diagram
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
W1C MTLP
W1C ECRC
RXO
UC
R
UR
Reserved