AST2600 Integrated Remote Management Processor A3 Datasheet: ASPEED Technology Inc
AST2600 Integrated Remote Management Processor A3 Datasheet: ASPEED Technology Inc
A3 Datasheet
ASPEED Technology Inc.
Version 0.9
May 6, 2021
ASPEED Technology Inc. retains the right to make changes to its products or specifications. While
the information furnished herein is held to be accurate and reliable, no responsibility will be assumed
by ASPEED Technology for its use. Furthermore, the information contained herein does not convey to
the purchaser of microelectronic devices any license under the patent right of any manufactures.
ASPEED products are not intended for use in life support products where failure of an ASPEED product
could reasonably be expected to result in death or personal injury. Anyone using an ASPEED product
in such an application without express written consent of an officer of ASPEED does so at their own
risk, and agrees to fully indemnify ASPEED for any damages that may result from such use or sale.
All other trademarks or register trademarks mentioned herein are the property of their respective
holders.
Headquarters
4F., No. 1, Sec. 3, Gongdao 5th Rd., East Dist.,
Hsinchu City 30069, Taiwan, R. O. C.
TEL: 886-3-5751185
FAX: 886-3-5751183
http://www.ASPEEDtech.com
Ordering Information
"
!
! "# $ % $ ******(******
& " ' ()
++,, -
Revision History
Date Revision Description
Jan. 2, 2019 0.1 Initial draft.
May.31, 2019 0.2 Second draft.
Sep.12, 2019 0.3 1. Merge R3VDD and R4VDD into one ”RVDD” power domain.
2. Change PV33D ”Pin K11” and ”Pin K12” to indepent ”PV33D RGM” do-
main.
3. Add Electrical Specifications.
4. Fix some typo.
Nov. 21, 2019 0.4 1. Correct WDTRST and RSTIND signal name with low active symbol.
2. Remove BMCINT function on Pin A15.
3. Add new HBLED# function on Pin Y23.
4. First release for AST2600 A1.
Jan. 3, 2020 0.5 1. Add section ”Reset Source Table”.
2. Add descriptions for section ”SRAM Memory Buffer”.
3. Add reset sources for all register descriptions.
4. Fix IO pull ups and driving strangths in pin descrition.
5. Add AST2620 comparison table.
6. Fix some typo.
May.18, 2020 0.6 1. Add and modify SCU0C8, SCU0D8, SCU300[14:11], SCU310[3:0],
SCU314[12:6], SCU338, SCU33C, SCU500, SCU510, SCUC20[18:16] de-
tail descriptions.
2. Add OTP Memory descriptions in section 61.
3. Add new MAC58[28] and MAC58[27] register descriptions.
4. Modify I2CD04[19:16] and I2CD04[15:12] register descriptions.
5. Change desciprtions for Uart Debug Interface section 11.
6. Remove interrupt #197 from interrupt source table in section 8.
7. Remove register SWVIC10, SWVIC18[15], SWVIC1C[15], SWVIC20,
SWVIC28[15], SWVIC2C[15].
8. Add new function LPC Mem/FWH to AHB with register HICR6[17].
9. Extend Mailbox from 16 to 32 registers.
10. Change SPI tCSS and I3C setup time SPEC.
11. Remove description ”Only 2 out of the interfaces can be enabled simulta-
neously”.
12. OTPSTRAP Description table was deleted because it is same as
SCU500, SCU510.
13. Add SCU to Strap Source Mappings to represent the strap sources
clearly.
14. Update VR040 Multi-JPEG Data Buffer descriptions.
15. Change feature of Master Serial GPIO to 2 sets
16. Change feature of Slave Serial GPIO to 2 sets
17. Add new section 9 ”Hardware Strap Registers”
18. Add new section 10 ”ARM TrustZone”
19. Add OTP programming temperature SPEC.
20. Add SPI electical SPEC when clock speed higher than 100MHz.
21. Add RSTIND# electrical SPEC on power sequence section.
22. Add ”List of Tables”
23. Update A1 power consumption data on electrical SPEC.
24. Fix page number mismatch in ”Contents”
25. Fix some typo.
to next page
A1 to A2 Change Highlight:
• Boot from UART can detect UART1 and UART5 automatically. In A0 to A2 revision, the boot from UART
can only boot from either UART1 or from UART5. It is selected by OTPCFG3[16]. In A3 revision, secure
boot engine will auto detect UART1 and UART5 both. When OTPCFG3[16]=0, the auto boot can boot
from UART1 or UART5 by automatically detection. In this condition, GPIOM7 must be keep high during
secure boot detection. Otherwise, if the secure boot engine detected GPIOM7=0, it will skip boot from
UART1. When OTPCFG3[16]=1, the secure boot can boot from UART1 only.
• Changing default value of GPIO2D0 from 32’h10CCC1 to 32’h109A61.
• OOB FREE in eSPI status is set automatically without BMC FW involvement. However BMC FW still
needs to program ESPI000[4] to inform eSPI controller that FW is ready to process OOB packets.
• Changing bit 31 of ESPI008 from de-assertion to both de-assertion and assertion. Also adding bit 15 of
ESPI004 to indicate current ESPI RSTN pin state.
• Fix Errata 51: 1-byte dummy occurs before IPMI BT/iBT response message Length byte in eSPI mode
• Fix Errata 52: I3C IBI read status register 1-bit shift
• Fix Errata 53: FSI IO signals are inverse and not functional
• Fix Errata 55: Vulnerability concern for default debug ports enable control
• Fix Errata 59: New I3C active Open Drain class pull-up option, 750 ohm.
• Fix Errata 64: MCTP00 bit 15 is changing to enable patch.
• There are some modifications for Secure boot. Please reference Secure Boot Specification V5 for details.
• BMC FW has to set SCU040[18] high to reset internal PCI Express Root complex controller as AC power-
on. For initial reference fw, please refer u-boot platform.S or add following code in platform.S.
The SCU040[18] setting is required to for the A3 silicon to boot.
ldr r0, =0x1e6e2040
movw r1, #0x0000
movt r1, #0x0004
str r1, [r0]
• Add PHYA00 and PHYB00[11:10] bit to improve USB2.0 Host Controller performance.
• The register HICR9[15:12] is set to 0x1. The register HICRA[2:0] is set to 0x4. They are set by secure
boot engine after ARM reset or power on reset. If IO1 of UART1 or UART10 will be used, software must
set these registers with correct settings.
• Fix Errata 63: FMC/SPI DMA writes might deassert CS in the middle of page program.
Contents
I Functional Specification 23
1 General Information 23
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.2 Chip Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3 Summary of Feature Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.3.1 Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.3.2 Design for Testability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.3.3 PCI Express 2.0 Bus Device Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.3.4 PCI Express 2.0 Root Complex Controller . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.3.5 VGA Display Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.3.6 64-bit 2D Graphics Accelerator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3.7 DDR4 SDRAM Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3.8 Dual-core ARM Cortex A7 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.3.9 Embedded ARM Cortex M3 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.3.10 Video Compression Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.3.11 Internal SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.3.12 Battery Backed SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.3.13 System Control Unit (SCU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.3.14 AHB Controller (AHBC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.3.15 Firmware SPI Memory Controller (FMC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.3.16 SPI Master Controller (SPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.3.17 SD/SDIO/eMMC Host Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.3.18 Hardware Secure Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.3.19 USB2.0 Virtual Hub Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.3.20 USB2.0 Device Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.3.21 USB1.1 HID Device Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.3.22 USB2.0 Host Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.3.23 USB2.0 Host Controller on PCIe bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.3.24 USB1.1 Host Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.3.25 10/100/1000 Mbps Fast Ethernet MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.3.26 I2C/SMBus Serial Interface Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.3.27 I3C Serial Interface Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.3.28 GPIO Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.3.29 Master Serial GPIO Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.3.30 Slave Serial GPIO Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.3.31 UART (16550) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.3.32 Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.3.33 Watchdog Timer (WDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.3.34 Real Time Clock (RTC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.3.35 LPC Bus Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.3.36 eSPI Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.3.37 System SPI Flash Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.3.38 Super I/O Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.3.39 Hash & Crypto Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.3.40 ADC Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.3.41 PWM Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.3.42 Fan Tachometer Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.3.43 PECI Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.3.44 JTAG Master Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.3.45 MCTP Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.3.46 MSI Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.3.47 X-DMA Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.3.48 Software Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3 Electrical Specifications 98
3.1 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.2 Recommended Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.3 Input Overshoot/Undershoot Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.4 Input Ringback Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.5 ESD Capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.6 Power Consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.7 Power Up Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.8 Power Down Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.9 Power Down Sequence for Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.10 I/O DC Electrical Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.10.1 3.3V CMOS I/O Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.10.2 1.8V CMOS I/O Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.10.3 3.3V/1.8V I2C/I3C I/O Parameters (GPIOJ Group) . . . . . . . . . . . . . . . . . . . . . . 108
3.10.4 MAC3/MAC4/SD1/SD2/LPC I/O Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 109
3.10.5 3.3V I/O Parameters for dedicated pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.10.6 DDR4 I/O Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.10.7 DAC I/O Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.10.8 ADC I/O Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.10.9 ADC7 and ADC15 for VBAT sense Parameters . . . . . . . . . . . . . . . . . . . . . . . . 112
3.10.10CHASI# I/O Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.10.11Battery Backed SRAM Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.10.12USB I/O Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.10.13PECI I/O Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.10.14Low-voltage I3C/FSI I/O Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.11 AC Timing Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.11.1 Reference Clock Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.11.2 LPC Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.11.3 RGMII/RMII/NCSI Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
3.11.4 DDR4 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
3.11.5 PCIe Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
3.11.6 DisplayPort Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
3.11.7 SPI Master Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
3.11.8 eSPI Slave Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
List of Figures
1 AST2600 Chip Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2 Ball Map – Left Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3 Ball Map – Right Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4 GPIO Pass Through Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5 8 Bits SGPIO Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6 16 Bits SGPIO Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7 24 Bits SGPIO Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8 64 Bits SGPIO Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
9 Slave SGPIO Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
10 Overshoot/Undershoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
11 Ringback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
12 Power-up sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
13 Power-down sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
14 Power-down sequence for Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
15 Timing Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
16 LPC Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
17 RGMII Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
18 RGMII Timing Waveform with RXCLK Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
19 RMII/NCSI Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
20 MDC/MDIO Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
21 SPI Master Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
22 eSPI Slave Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
23 JTAG Master Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
24 I2C Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
25 I3C Open-drain mode Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
26 I3C Push-pull mode Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
27 SD/eMMC Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
28 eMMC HS200 Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
29 SGPIO Master Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
30 SGPIO Slave Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
31 Strap Input Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
32 FSI Timing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
33 Thermal Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
34 IC Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
35 SMT Soldering Reflow Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
36 Top view of Boot-Up sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
37 Detail of Boot-Up sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
38 Description of Boot-Up sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
39 BMC SPI CRTM Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
40 Host SPI CRTM Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
41 MAC1 and MAC2 RGMII timing control block diagram . . . . . . . . . . . . . . . . . . . . . . . . 460
42 MAC1 and MAC2 RMII timing control block diagram . . . . . . . . . . . . . . . . . . . . . . . . . 460
43 MAC3 and MAC4 RGMII timing control block diagram . . . . . . . . . . . . . . . . . . . . . . . . 462
44 MAC3 and MAC4 RMII timing control block diagram . . . . . . . . . . . . . . . . . . . . . . . . . 462
45 ADC Reference Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
46 Clock structure of SD interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
47 Clock structure of eMMC interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
48 Parallel GPIO Function Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756
49 UART Packet Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
50 Block Diagram of SIOONCTRL# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959
51 Block Diagram of SIOPBO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959
52 Block Diagram of SIOPWRGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960
53 Clock Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995
54 AC Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995
55 I2C PROTOCOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996
List of Tables
1 Comparisons Between AST2600, AST2500 and AST2400 . . . . . . . . . . . . . . . . . . . . . 45
2 Comparisons Between AST2600, AST2500 and AST2400 . . . . . . . . . . . . . . . . . . . . . 47
3 Comparisons Between AST2600A0, AST2600A1 and AST2600A2/A3 . . . . . . . . . . . . . . . 49
4 Dedicated Strap Function Pins (SCU510[30]=0) . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5 Dedicated Strap Function Pins (SCU510[30]=1) . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6 Reset Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
7 Function Level Reset Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
8 ARM Address Mapping Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
9 ARM CoreSight Address Mapping Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
10 ARM CoreSight ID Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
11 ARM Interrupt Source Table for Shared Peripheral Interrupt (SPI) . . . . . . . . . . . . . . . . . 177
12 SSP CM3 Interrupt Source Table for Shared Peripheral Interrupt (SPI) . . . . . . . . . . . . . . . 181
13 OTPSTRAP Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
14 Hardware Strap Source Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
15 Memory Request Priority Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Part I
Functional Specification
1 General Information
1.1 Introduction
This manual provides the related technical information about the newly developed Integrated Remote Manage-
ment Processor (IRMP) – AST2600.
This document is intended for product planners, system designers, and software developers who are going
to adopt or have adopted this device to support graphics acceleration & display, baseboard management
controller (BMC), KVM-over-IP, and virtual storage functions for highly manageable server platforms or iKVM
switches.
• BMC device supports leagcy I/O access all LPC registers with write protection control
• BMC device supports one mapping window to access all LPC registers with write protection control
• BMC device supports MCTP function
• BMC device supports X-DMA function
• AXI bus clock speed divider options: 1/2(default), 1/1 to CPU clock
• AHB bus clock speed divider options: 1/2(default), 1/3, 1/4, 1/5, 1/6, 1/7, 1/8
• Integrated AMBA APB bus with embedded AHB to APB bridge
• JTAG interface with CPU reset control for code debugging
• Support L1/L2 cache parity error check
1.3.32 Timer
• Directly connected to APB Bus
• Built-in 8 sets of 32-bit timer modules
• Free-running or periodic mode
• Maskable interrupts
– External signal: to externally reset controller, maximum pulse width 1.048 second, programmable
polarity
• Generate 2 types of reset pulse (programmable) for resetting BMC part or full chip
• Configurable reset selection control for each BMC function module
SD/SDIO/eMMC 4-bits Interface Yes (x2) and Yes (x2) and Yes (x2) and
eMMC 8-bits Interface Yes (x1) Yes (x1) Yes (x1)
Embedded SRAM Yes (64KB) Yes (64KB) Yes (64KB)
Battery Backed SRAM Yes (128 bytes) Yes (128 bytes) Yes (128 bytes)
Chip unique ID Yes (64 bits) Yes (64 bits) Yes (64 bits)
System SPI Interface Yes Yes Yes
MCTP function Yes (with DMA) Yes (with DMA) Yes (with DMA)
MSI function Yes Yes Yes
DMA between System and BMC memory Yes Yes No
Super I/O Function Yes Yes Yes
ADC Function Yes (16 voltage) Yes (16 voltage) Yes (16 voltage)
ADC reference voltage 2 reference voltages 2 reference voltages 2 reference voltages
JTAG-boundary scan Yes Yes Yes
JTAG Master Function Yes (x2) Yes (x2) Yes (x2)
1.7 Applications
1.7.1 Display Output Interface
1. Path 1: VGA output, the output target can choose either or both to the DAC or DisplayPort 1.1a interface.
2. Path 2: Graphics CRT output, the output target can choose either or both to the DAC or DisplayPort 1.1a
interface.
1. USB1.1 Low Speed HID device, function as remote USB keyboard/mouse redirection. This is
a backup port now, firmware mainly use the USB2.0 Virtual Hub controller to emulate the key-
board/mouse redirection function.
2. USB2.0 Full/High Speed device, an extended general purpose USB2.0 device port, which can be
used for different BMC chips link, or other purpose.
3. USB2.0 Full/High Speed Host port.
Abbreviation Definition:
Symbol : Description
# : Denotes active low signal
I : Input buffer
IU : Input buffer with internal pull high resistor (58 ∼ 133 KΩ)
ID : Input buffer with internal pull low resistor (52 ∼ 128 KΩ)
IUS : Schmitt-trigger type input buffer with internal pull high resistor (58 ∼ 133 KΩ)
IDS : Schmitt-trigger type input buffer with internal pull low resistor (52 ∼ 128 KΩ)
IR : Input buffer with programmable internal pull low resistor (52 ∼ 128 KΩ), default OFF
IS : Schmitt-trigger type input buffer
On : Output buffer with different driving capability (n = 8, 12, 16)
Op : Output buffer with programmable (O8/O16) driving capability
P : Power/Ground pin
A : Analog pin
CMOS : 3.3V CMOS protocol I/O buffer with only 3.3V tolerant input buffer.
CMOS12 : 1.2V/1.0V CMOS protocol I/O buffer with 1.2V or 1.0V tolerant input buffer.
CMOS18 : 1.8V CMOS protocol I/O buffer with only 1.8V tolerant input buffer.
DDR : DDR4 compliant SDRAM buffer type
VREF : Reference voltage
Note1 :
IU with internal pull high is only used for input buffer, it can not be used to drive external loads. The
system design must use Standby power domain on all paths connected on these pins to prevent cur-
rent leakage from the internal pull-up resistor.
Note2 :
Please refer section ?? for the firmware programming method of GPIO push-pull and open-drain driv-
ing mode.
to next page
Miscellaneous – 7 pins
Ball Signal I/O Type Description
IO Power Domain : PV33D RGM
C10 ENTEST IUS CMOS Enable test mode input pin
Pull low the ENTEST to ground (1KΩ) in normal operation mode.
E10 SRST# IUS CMOS Chip level reset input pin
Keep SRST# Low after power-on and power stable for a period of time
(minimum 1ms). Do not trigger this pin when host VGA function is ON.
This reset input will reset whole chip functions, including PCIe and VGA.
Please use EXTRST# for run-time reset request.
to next page
ASPEED Confidential All rights reserved. 73 May 6, 2021
ASPEED AST2600 A3 Datasheet – V0.9
DAC – 6 pins
Ball Signal I/O Type Description
AF21 DACR O A DAC R channel output
AE21 DACG O A DAC G channel output
AD21 DACB O A DAC B channel output
AC21 DACRSET - A DAC reference resistor
Connect an external resistor of 2.74KΩ to GND for adjusting the mag-
nitude of DAC full-scale output current.
V21 DACAV33 - P 3.3V DAC analog power
W21 DACAV33 - P
ADC – 26 pins
Ball Signal I/O Type Description
AD20 ADC0 I A ADC channel 0 analog input
GPIT0 I CMOS GPIO group T bit 0
AC18 ADC1 I A ADC channel 1 analog input
GPIT1 I CMOS GPIO group T bit 1
AE19 ADC2 I A ADC channel 2 analog input
GPIT2 I CMOS GPIO group T bit 2
AD19 ADC3 I A ADC channel 3 analog input
GPIT3 I CMOS GPIO group T bit 3
AC19 ADC4 I A ADC channel 4 analog input
GPIT4 I CMOS GPIO group T bit 4
AB19 ADC5 I A ADC channel 5 analog input
GPIT5 I CMOS GPIO group T bit 5
AB18 ADC6 I A ADC channel 6 analog input
GPIT6 I CMOS GPIO group T bit 6
AE18 ADC7 I A ADC channel 7 analog input
GPIT7 I CMOS GPIO group T bit 7
AB16 ADC8 I A ADC channel 8 analog input
GPIU0 I CMOS GPIO group U bit 0
SALT9 I CMOS SMBus 9 Alert pin (Dual Ball-out)
AA17 ADC9 I A ADC channel 9 analog input
GPIU1 I CMOS GPIO group U bit 1
SALT10 I CMOS SMBus 10 Alert pin (Dual Ball-out)
AB17 ADC10 I A ADC channel 10 analog input
GPIU2 I CMOS GPIO group U bit 2
SALT11 I CMOS SMBus 11 Alert pin (Dual Ball-out)
AE16 ADC11 I A ADC channel 11 analog input
GPIU3 I CMOS GPIO group U bit 3
SALT12 I CMOS SMBus 12 Alert pin (Dual Ball-out)
AC16 ADC12 I A ADC channel 12 analog input
GPIU4 I CMOS GPIO group U bit 4
SALT13 I CMOS SMBus 13 Alert pin (Dual Ball-out)
AA16 ADC13 I A ADC channel 13 analog input
GPIU5 I CMOS GPIO group U bit 5
SALT14 I CMOS SMBus 14 Alert pin (Dual Ball-out)
AD16 ADC14 I A ADC channel 14 analog input
GPIU6 I CMOS GPIO group U bit 6
SALT15 I CMOS SMBus 15 Alert pin (Dual Ball-out)
AC17 ADC15 I A ADC channel 15 analog input
GPIU7 I CMOS GPIO group U bit 7
SALT16 I CMOS SMBus 16 Alert pin (Dual Ball-out)
AC20 ADCVREFP0 O A ADC positive reference voltage for ADC[7:0] pins
AD17 ADCVREFP1 ADC positive reference voltage for ADC[15:8] pins
to next page
1 2 3 4 5 6 7 8 9 10 11 12 13
GPIO18A3/
GPIO18A7/ TMS/ GPIOK0/ GPIOM2/ GPIOL3/
A GND
RGMII1RXCTL
RGMII1TXD1/ USB2A_DP GND USB2B_DP PERST# DDCDAT
MTMS1
RGMIICK
SCL5 NDSR1 SDA10 A
RMII1TXD1
GPIO18C5/
GPIO18C1/ NTRST/ GPIOK6/
F MA2 MA10 MA0 RGMII2RXD1/
RGMII2TXD3
GND PLLAVDD GND PLLDVDD GND
MNTRST1
GND
SCL8 F
RMII2RXD1
MBA2/
G MA11 GND
MBG0
MBA0 MWE# MVDD G
MA14/
H MACT#
MCS# MA3 GND MBA1 MVDD PV18D GND GND GND PV18D_RGM GND H
J MODT GND MA4 MCAS# MRAS# MVDD PV18D DPLLAVDD USB2AV33 GND PV18D_RGM GND J
K MCK# MCK MA13 GND MA1 MVDD GND GND USB2AV18 PV33D_RGM PV33D_RGM GND K
L MA5 GND MRESET# MA12 MCKE MVDD GND IV10D IV10D GND GND PV18D_SLI L
MA15/
M MA8 MA7
MBG1
GND MA6 MVDD_CK IV10D GND GND IV10D GND PV18D_SLI M
N MA9 GND MDM0 MALERT# AVDDPLL GND IV10D GND GND IV10D PV18D PV18D_SLI N
P MDQ5 MDQ6 MDQ7 GND MIOZ MVDD IV10D GND GND IV10D PV18D PV18D_SLI P
R MDQ4 GND MDQ3 MDQ1 MDM1 MVDD GND IV10D IV10D GND PV18D PV18D_SLI R
T MDQS0# MDQS0 MDQ0 GND MVREF MVDD DP_VCC10A RC_VCC10A PE_VCC10A GND GND PV18D_SLI T
U MDQ2 GND MDQ15 MDQ13 MVREF PV18D GND GND GND GND GND PV18D_SLI U
V MDQS1# MDQS1 MDQ9 MDQ14 GND PV18D DP_VCC18A RC_VCC18A PE_VCC18A GND GND PV18D_SLI V
W MDQ10 MDQ8 MDQ11 MDQ12 GND GND GND GND GND GND GND PV18D_SLI W
GPIO18E2/ GPIO18E3/
GPIO18E0/ GPIO18E1/
EMMCDAT6/ EMMCDAT7/
EMMCDAT4/ EMMCDAT5/ GPIO18D4/
Y FWSPI18CS#/ FWSPI18CK/
FWSPI18MOSI FWSPI18MISO
EMMCDAT2
GND Y
/ /
VBCS# VBCK
VBMOSI VBMISO
GPIOY3/
GPIO18D1/ GPIO18D3/ GPIOX1/ GPIOZ5/
AA GND DPTXN1 GND
EMMCCMD EMMCDAT1
GND GND GND
SPI2CS1#
GND
SPI1MISO
SALT8/ FWSPICS1# AA
WDTRST4#
GPIOW3/ GPIOW2/
GPIO18D2/ GPIO18D6/ GPIOX2/ GPIOZ0/ GPIOZ4/ GPIOY6/
AC DPTXP0 GND DPAUXP
EMMCDAT0 EMMCCD#
GND LAD3/ LAD2/
SPI2CS2# SPI1CS1# SPI1MOSI FWSPIABR
FWSPICS2# AC
ESPID3 ESPID2
GPIOW4/ GPIOY2/
GPIOX0/ GPIOZ2/ GPIOY4/
AE RCREFCLKP RCREFCLKN GND PETXP PETXN GND LCLK/
SPI2CS0#
GND
SPI1WP#
SALT7/
FWSPIDQ2
GND AE
ESPICK WDTRST3#
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
GPIOG4/ GPIOG3/
GPIOI1/ GPIOJ5/ GPIOJ1/ GPIOF7/ GPIOF6/ GPIOF5/
GPIOL1/ GPIOI7/ GPIOH3/ GPIOH0/ TXD8/ RXD7/
A SDA9 SIOSCI#
MTDI2/
SGPM1I SGPM1CK
HVI3C5SDA/ HVI3C3SDA/
SD2DAT2/ SD2DAT1/
SD1WP#/ SD1CD#/ SD1DAT3/ GND A
RXD12 SDA3 SDA1 PWM15 PWM14 PWM13
SALT13 SALT12
GPIOG6/
GPIOI3/ GPIOI0/ GPIOH4/ GPIOJ7/ GPIOJ3/ GPIOF0/ GPIOF2/ GPIOE1/ GPIOE0/
GPIOM0/ GPIOL0/ TXD9/
D NCTS1 SCL9
MTMS2/ MNTRST2/ SGPS1CK/ HVI3C6SDA/ HVI3C4SDA/
SD2CD#/
SD1CLK/ SD1DAT0/ NRTS3/ GND NDTR3/ D
RXD13 TXD12 SCL15 SDA4 SDA2 PWM8 PWM10 RGMII4TXD3 RGMII4TXD2
SALT15
GPIOD4/
GPIOD0/ GPIOD2/ GPIOD1/
GPIOL5/ GPIOC5/ NCTS3/
F GND
RXD3
GND GND GND I3CVDDH I3CVDDH GND
RGMII3TXD3
RGMII3RXD0/
RGMII4TXCK/
RGMII3RXD2/ RGMII3RXD1/ F
RMII3RXD0 RMII3CRSDV RMII3RXD1
RMII4RCLKO
GPIOC6/
GPIOC4/ GPIOC7/ GPIOB5/
G SD1VDD
RGMII3TXD2
RGMII3RXCK/
RGMII3RXCTL
GND
MDIO2 G
RMII3RCLKI
GPIOC1/
GPIOB4/ GPIOB7/ GPIOB3/ GPIOB0/
J GND GND GND GND GND GND RVDD RGMII3TXCTL/
MDC2 RXD4 SALT4 SALT1 J
RMII3TXEN
GPIOA7/ GPIOA4/
GPIOA3/ MAC4LINK/ MAC1LINK/
GPIOB1/
K GND GND IV12D IV12D IV12D IV12D RVDD GND
SALT2
MDIO4/ SDA14/ SCL13/ K
SDA12 SGPS2I1/ SGPS2CK/
SGPM2I SGPM2CK
GPIOA6/ GPIOA5/
MAC3LINK/ MAC2LINK/ GPIOA2/
L IV12D GND GND GND GND GND IV12D RVDD SCL14/ SDA13/ GND MDC4/ L
SGPS2I0/ SGPS2LD/ SCL12
SGPM2O SGPM2LD
GPIOA0/ GPIOA1/
GPION5/ GPION7/
M IV12D GND GND GND GND GND IV12D RVDD
NRTS2
MDC3/ MDIO3/
RXD2 M
SCL11 SDA11
GPIOP4/ GPIOP1/
GPIOR6/
W PV18D_SLI LPVDD PV33D PV33D PV33D PV33D DACAV33 GND PWM12/ PWM9/ GND
TACH14 W
THRUIN2 THRUOUT0
GPIOP7/
GPIOQ2/ GPIOQ6/ GPIOQ4/
Y ADCAV33 GND PWM15/
TACH2 TACH6 TACH4 Y
HBLED#
ADC12/ ADC15/
GPIOV3/ ADC1/ ADC4/ GPIOO5/ GPIOO7/ GPIOO6/ GPIOQ5/
AC FWSPIMOSI
SIOONCTRL#
GPIU4/ GPIU7/
GPIT1 GPIT4
ADCVREFP0 DACRSET
PWM5 PWM7 PWM6
GND
TACH5 AC
SALT13 SALT16
ADC14/
GPIOV2/ GPIOV6/ ADC3/ ADC0/ GPIOO1/ GPIOO2/ GPIOO3/ GPIOO4/ GPIOO0/
AD SIOPWREQ# LPCPME#
GPIU6/ ADCVREFP1 ADCVREFN1
GPIT3 GPIT0
DACB
PWM1 PWM2 PWM3 PWM4 PWM0 AD
SALT15
ADC11/
GPIOV5/ GPIOV4/ ADC7/ ADC2/ I3C4SCL/ I3C3SDA/
AE LPCPD# SIOPWRGD
GPIU3/ GND
GPIT7 GPIT2
GND DACG I3C2SDA GND I3C1SDA
FSI2CLK FSI1DATA AE
SALT12
14 15 16 17 18 19 20 21 22 23 24 25 26
When GPIO is used as hardware strap, it will limit the active level selection of the GPIO application. Ex. when
strap setting is pulled high, then it can be used as a GPIO of active low that have a power up state of high.
Notes
• If it is necessary to use these hardware strap as GPIO application, please note it must be latched after
SRST# de-asserted every time.
• Don’t drive these hadware strap pin from other output source directly.
• *. The TXD5 hardware strap is reversed. It means a value 0 on strap pin will trap value 1 into strap
register SCU500[0], a value 0 on strap pin will trap value 1 into strap register SCU500[0]. All of the other
hardware strap pins are not reversed. Please reference to section 2.3.3 for more detail.
• Please ensure that the HIGH/LOW on these pins is meeting the TIH hold time on AC timing specification
of Strap Input Interface..
• For the hardware strap function setting on GPIOZ[7:3] pins, it can also be set the HIGH/LOW status by
programming internal OTP strap memory. After SRST# de-asserted, the internal strap value on SCU500/
SCU510/ SCU51C register is latched by external hardware strap level OR OTP strap memory value. This
gives you the flexibility of setting OTP strap value =1b or stuff the external pull-up resistor on these strap
pin if you need to set this hardware strap function =HIGH.
• All of the debug interfaces controlled by SCU0C8 and SCU0D8 are are disabled in default. Set OTPCFG7
registers can change their default values. The hardware strap pin, FWSPIMISO, can enable Low Secure
Boot function. It also can change the default values of SCU0C8 and SCU0D8 and keep UART1/UART5
debug port enabled.
• For GPIOZ4 strap pin on A2/A3 silicon version, this pin include internal pull-down and it is actual hardware
strap pin. You can stuff external Pull-up 4.7K ohm resistor to PV33D if host is LPC mode. For A2/A3
version, you do NOT need to enable path code on the SDK ?rmware for this pin as A0/A1 version.
• For GPIOZ6 (PinAD11), it is used as GPIO Pass Through selection:
0b: Disable GPIO Pass Through function on GPIOP[5:0]
1b: Enable GPIO Pass Through function on GPIOP[5:0]
Please note GPIOP[5:0] pins are defined as Pass Through application after SRST# de-asserted when
your system includes a pull-up on GPIOZ6 pins. The GPIOZ6 strap setting will affect several pins func-
tionality in your system, please check your schematic and ensure it is meeting your usage case.
• For GPIOZ7 (PinAF10), it is used as ACPI function selection:
0b: Disable ACPI function
1b: Enable ACPI function
Please note some pin are defined as ACPI functional pin such as (SIOS3#, SIOS5#, SIOPWREQ#,
SIOONCTRL#, SIOPBI#, SIOPBO#, SIOPWRGD, SIOSCI#) after SRST# de-asserted when your system
includes a pull-up on GPIOZ7 pins. The GPIOZ7 strap setting will affect several pin functionality in your
system, please check your schematic and ensure it is meeting your usage case.
2.3.2 Method 2: OTP Strap – Load from the OTP memory configuration space
The OTP memory is a one time programmable memory. The OTPSTRAP are 64 bits internal signals from
OTP memory and can be source of hardware strap registers. Please reference to section 9 ”Hardware Strap
Registers” for more details.
This is useful for system power and reset button control. The pass through pin pairs listed below:
GPIOP0 → GPIOP1
GPIOP2 → GPIOP3
GPIOP4 → GPIOP5
0
GPIOA_OE
0
1
GPIOA
GPIOA_O
GPIOA_I
GPIOB_OE 0
1
1
0 GPIOB
GPIOB_O
GPIOB_I
– 96 bits : SGPIOA, SGPIOB, SGPIOC, SGPIOD, SGPIOE, SGPIOF, SGPIOG, SGPIOH, SGPIOI,
SGPIOJ, GPIOK, GPIOL
– 104 bits : SGPIOA, SGPIOB, SGPIOC, SGPIOD, SGPIOE, SGPIOF, SGPIOG, SGPIOH, SGPIOI,
SGPIOJ, GPIOK, GPIOL, GPIOM
– 112 bits : SGPIOA, SGPIOB, SGPIOC, SGPIOD, SGPIOE, SGPIOF, SGPIOG, SGPIOH, SGPIOI,
SGPIOJ, GPIOK, GPIOL, GPIOM, GPION
– 120 bits : SGPIOA, SGPIOB, SGPIOC, SGPIOD, SGPIOE, SGPIOF, SGPIOG, SGPIOH, SGPIOI,
SGPIOJ, GPIOK, GPIOL, GPIOM, GPION, GPIOO
– 128 bits : SGPIOA, SGPIOB, SGPIOC, SGPIOD, SGPIOE, SGPIOF, SGPIOG, SGPIOH, SGPIOI,
SGPIOJ, GPIOK, GPIOL, GPIOM, GPION, GPIOO, GPIOP
• Input interrupt with sensitive high/low level trigger, rising/falling edge trigger mode
• Watchdog reset tolerance
8-bitsMode
SGPMCK
SGPMLD
SGPMO A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 A7 A6
A A A
SGPMI A1 0 A7 A6 A5 A4 A3 A2 A1 0 A7 A6 A5 A4 A3 A2 A1 0 A7 A6 A5
16-bitsMode
SGPMCK
SGPMLD
SGPMO A1 A0 B7 B6 B5 B4 B3 B2 B1 B0 A7 A6 A5 A4 A3 A2 A1 A0 B7 B6
B B
SGPMI B1 0 A7 A6 A5 A4 A3 A2 A1 A0 B7 B6 B5 B4 B3 B2 B1 0 A7 A6 A5
24-bitsMode
SGPMCK ...
SGPMLD ...
SGPMO A1 A0 C7 C6 C5 C4 C3 C2 C1 C0 B7 B6 ... A4 A3 A2 A1 A0 C7 C6
C C
SGPMI C1 0 A7 A6 A5 A4 A3 A2 A1 A0 B7 B6 B5 ... C3 C2 C1 0 A7 A6 A5
64-bitsMode
SGPMCK ...
SGPMLD ...
SGPMO A1 A0 H7 H6 H5 H4 H3 H2 H1 H0 B7 B6 ... A4 A3 A2 A1 A0 H7 H6
H H
SGPMI H1 0 A7 A6 A5 A4 A3 A2 A1 A0 B7 B6 B5 ... H3 H2 H1 0 A7 A6 A5
module SGPIO S2P(SGPMCK, SGPMLD, SGPMO, SGPMI, Parallel In, Parallel Out);
parameter NUM = 8;
input SGPMCK;
input SGPMLD;
input SGPMO;
output SGPMI;
always@(posedge SGPMCK)
begin
if(!SGPMLD)
p2s <= Parallel In;
else begin
p2s <= {p2s[NUM-2:0], 1’b0};
end
end
always@(posedge SGPMCK)
begin
s2p <= {s2p[NUM-2:0], SGPMO};
end
always@(posedge SGPMLD)
begin
Parallel Out <= s2p;
end
endmodule
SGPSCK ...
Atleast5
SGPSLD L0 L1 L2 L3 L0 ...
zeros
OD OD OD OD OD OD OD OD OD OD OD OD OD OD OD OD OD
SGPSI0 ... ...
n.2 0.0 0.1 0.2 1.0 1.1 1.2 2.0 2.1 2.2 3.0 3.1 3.2 n.0 n.1 n.2 0.0
ID ID ID ID ID ID ID ID ID ID ID ID ID ID ID ID ID
SGPSI1 ... ...
n.2 0.0 0.1 0.2 1.0 1.1 1.2 2.0 2.1 2.2 3.0 3.1 3.2 n.0 n.1 n.2 0.0
Bitstream(ndrives,n ¤R3)
3 Electrical Specifications
3.1 Absolute Maximum Ratings
• The input signal rise/fall between VIH and VIL should be monotonic style of rise/fall.
1. VGA OFF
2. Firmware run Iperf LAN stress on LAN3
3. No other digital IO swing, except LAN3 (RGMII 125MHz)
% &' ( ) ) * ) TA2
) . /&-
! "#
% /& )0) /& - TA3
TA4
TB
TC
TH
$ TINDR[x]
TINDF[x]
TD
TE TH
TF
TR
! "#
TR2
Notes:
1. There is no power-up sequence requirement for PECIVDD, it is connected to the CPU VT T power.
2. PV33D include USB2AV33,ADCAV33, DACAV33, RVDD (3.3V mode), SD1VDD, SD2VDD, I3CVDDH
(3.3V mode), LPVDD (3.3V mode) and PV33D.
3. PV18D include USB2AV18, RC VCC18A, PE VCC18A, DP VCC18A, AVDDPLL, RVDD (1.8V mode),
I3CVDDH (1.8V mode), LPVDD (1.8V mode), PV18D SLI, PV18D and PV18D RGM.
4. PV33D RGM only include PinK11 and PinK12.
5. PV12D include MVDD, MVDD CK, I3CVDDL1 (1.2V mode), I3CVDDL2 (1.2V mode), IV12D, PLLAHVDD.
6. PV10D include DPLLAVDD, PLLAVDD, PLLDVDD, RC VCC10A, PE VCC10A, DP VCC10A, I3CVDDL1
(1.0V mode), I3CVDDL2 (1.0V mode) and IV10D.
TL1
TL2
TL3
TL4
TL5
Since firmware may have flash erase or program operation at run time, for a safe power down, all of the flash
erase and program operation should be stopped and finished before power start to drop.
It ever happened that flash content (at random address) was destructed if update process is on-going and
suddenly power dropped. So firmware and system design should do something to avoid this case to happen.
Below are 2 ways that is helpful to avoid this issue.
• Power supply should have a certain amount of capacitor capacity to supply BMC to work for a while
after AC loss, and BMC should can detect the AC loss event at the first time and then stop or finish the
on-going flash update process immediately.
• Use another flash part for firmware to store information at run time. So no frequent update operation on
firmware flash part is executed at run time.
SRST#
or 10%
EXTRST#
TL
90%
All powers
Flash
Flash Idle
Erase or Program Flash Busy
operation TM
90%
Flash power
3.3V
TDuty+ TDuty-
V IH
50%
V IL
TR TF
Tcyc
LCLK
T val
Output
Tsu Th
Input
LPC 33MHz
The default timing setting for RMII/NCSI interface was set to the best timing margin point.
The default timing setting with/without PHY RXCLK delay for RGMII interface was set as below:
TXCLK
TXD[3:0]
TXCTL
TX HD TX HD
TX SU TX SU
RXCLK
RXD[3:0]
RXCTL
RXSKEW
RCLK (50MHz)
Ts TH TBU
TXEN, TXD[1:0]
RXDV, RXD[1:0]
RMII/NCSI Timing
T1
MDC
T3 T4
MDIO
(BMC to PHY)
T5
MDIO
(PHY to BMC)
MDC/MDIO Timing
tCK
CLK
tCLQV
tCLQX
Output
tIS tIH
Input
TCK
TCK
TQ
TMS
TDI
TSU THD
TDO
TCKH TCKL
SCL
TOH TIS TIH
SDA
I3C OD Mode
THIGH_OD TLOW_OD
SCL
TSU_OD
SDA
I3C PP Mode
THIGH_PP TLOW_PP
SCL
TSU_PP THD_PP
SDA
Input
TOD
Output
CLK
TISU TIH
Input
TOSU TOH
Output
Input
TOD
Output
SGPMCK
tLDV
SGPMLD
tOV
SGPMO
tIS tIH
SGPMI
fSCK
SGPSCK
tIS tIH
SGPSLD
SGPSI1
SGPSI0
SRST#
Strap In V IH V IH
High
tIS tIH
Strap In
Low VIL VIL
Fclk
CLK
Tos Tos
FSI Interface
TC TA
TA
TB
Thermal Dissipation of PBGA Package
TJ
P
Package Conditions
Package Type TFBGA Package
Ball Count 624
Package Dimension (L x W) 21 x 21 mm
Ball Pitch 0.8 mm
Number of Cu Layer-Substrate 4 layers
Substrate thickness 0.36 mm
PCB Conditions
PCB layers 6 layers
PCB Dimensions (L x W x H) 130 x 120 x 1.66 mm3
Environment Conditions
Maximum Junction temperature (C) 125
Maximum Ambient temperature (C) 70
Input Power (watt) 2.5
Control Condition Air Flow = 0, 1, 2 m/s
4 Package Information
Part II
Firmware Programming Guide
5 Multi-function Pins Mapping and Control
The following table defines the working function of all multi-function pins. The control priority is from ”Function
1” (Highest) to ”Function 3” (Lowest).
Co S
AF23 Hi-Z, Input I3C1SCL SCU438[16]=1 Hi-Z, Input
AE24 Hi-Z, Input I3C1SDA SCU438[17]=1 Hi-Z, Input
AF22 Hi-Z, Input I3C2SCL SCU438[18]=1 Hi-Z, Input
AE22 Hi-Z, Input I3C2SDA SCU438[19]=1 Hi-Z, Input
P
AF25 Hi-Z, Input I3C3SCL SCU438[20]=1 FSI1CLK SCU4D8[20]=1 Hi-Z, Input
nfi E
AE26 Hi-Z, Input I3C3SDA SCU438[21]=1 FSI1DATA SCU4D8[21]=1 Hi-Z, Input
All rights reserved.
de ED
L26 GPIOA2 MDC4 SCU410[2]=1 SCL12 SCU4B0[2]=1 GPIOA2
K24 GPIOA3 MDIO4 SCU410[3]=1 SDA12 SCU4B0[3]=1 GPIOA3
K26 GPIOA4 MACLINK1 SCU410[4]=1 SCL13 SCU4B0[4]=1 SGPS2CK SCU690[4]=1 GPIOA4
L24 GPIOA5 MACLINK2 SCU410[5]=1 SDA13 SCU4B0[5]=1 SGPS2LD SCU690[5]=1 GPIOA5
134
nt
K25 GPIOA7 MACLINK4 SCU410[7]=1 SDA14 SCU4B0[7]=1 SGPS2I1 SCU690[7]=1 GPIOA7
J26 GPIOB0 SALT1 SCU410[8]=1 GPIOB0
K23 GPIOB1 SALT2 SCU410[9]=1 GPIOB1
H26 GPIOB2 SALT3 SCU410[10]=1 GPIOB2
l
J24 GPIOB7 RXD4 SCU410[15]=1 GPIOB7
H24 GPIOC0 RGMII3TXCK SCU410[16]=1 & RMII3RCLKO SCU410[16]=1 & GPIOC0
SCU510[0]=1 SCU510[0]=0
J22 GPIOC1 RGMII3TXCTL SCU410[17]=1 & RMII3TXEN SCU410[17]=1 & GPIOC1
May 6, 2021
SCU510[0]=1 SCU510[0]=0
H22 GPIOC2 RGMII3TXD0 SCU410[18]=1 & RMII3TXD0 SCU410[18]=1 & GPIOC2
SCU510[0]=1 SCU510[0]=0
to next page
A
ASPEED Confidential
Co S
Ball Default Function 1 Control 1 Function 2 Control 2 Function 3 Control 3 Others
H23 GPIOC3 RGMII3TXD1 SCU410[19]=1 & RMII3TXD1 SCU410[19]=1 & GPIOC3
SCU510[0]=1 SCU510[0]=0
G22 GPIOC4 RGMII3TXD2 SCU410[20]=1 & GPIOC4
SCU510[0]=1
P
F22 GPIOC5 RGMII3TXD3 SCU410[21]=1 & GPIOC5
nfi E
All rights reserved.
SCU510[0]=1
G23 GPIOC6 RGMII3RXCK SCU410[22]=1 & RMII3RCLKI SCU410[22]=1 & GPIOC6
SCU510[0]=1 SCU510[0]=0
G24 GPIOC7 RGMII3RXCTL SCU410[23]=1 & GPIOC7
SCU510[0]=1
de ED
F23 GPIOD0 RGMII3RXD0 SCU410[24]=1 & RMII3RXD0 SCU410[24]=1 & GPIOD0
SCU510[0]=1 SCU510[0]=0
F26 GPIOD1 RGMII3RXD1 SCU410[25]=1 & RMII3RXD1 SCU410[25]=1 & GPIOD1
SCU510[0]=1 SCU510[0]=0
F25 GPIOD2 RGMII3RXD2 SCU410[26]=1 & RMII3CRSDV SCU410[26]=1 & GPIOD2
135
SCU510[0]=1 SCU510[0]=0
nt
E26 GPIOD3 RGMII3RXD3 SCU410[27]=1 & RMII3RXER SCU410[27]=1 & GPIOD3
SCU510[0]=1 SCU510[0]=0
F24 GPIOD4 NCTS3 SCU410[28]=1 RGMII4TXCK SCU4B0[28]=1 & RMII4RCLKO SCU4B0[28]=1 & GPIOD4
SCU510[1]=1 SCU510[1]=0
ia
SCU510[1]=1 SCU510[1]=0
E24 GPIOD6 NDSR3 SCU410[30]=1 RGMII4TXD0 SCU4B0[30]=1 & RMII4TXD0 SCU4B0[30]=1 & GPIOD6
SCU510[1]=1 SCU510[1]=0
l
E25 GPIOD7 NRI3 SCU410[31]=1 RGMII4TXD1 SCU4B0[31]=1 & RMII4TXD1 SCU4B0[31]=1 & GPIOD7
SCU510[1]=1 SCU510[1]=0
D26 GPIOE0 NDTR3 SCU414[0]=1 & RGMII4TXD2 SCU4B4[0]=1 & GPIOE0
SCU470[16]=0 SCU510[1]=1 &
SCU470[16]=0
May 6, 2021
Co S
Ball Default Function 1 Control 1 Function 2 Control 2 Function 3 Control 3 Others
C25 GPIOE2 NCTS4 SCU414[2]=1 & RGMII4RXCK SCU4B4[2]=1 & RMII4RCLKI SCU4B4[2]=1 & GPIOE2
SCU470[18]=0 SCU510[1]=1 & SCU510[1]=0 &
SCU470[18]=0 SCU470[18]=0
C26 GPIOE3 NDCD4 SCU414[3]=1 & RGMII4RXCTL SCU4B4[3]=1 & GPIOE3
P
SCU470[19]=0 SCU510[1]=1 &
nfi E
SCU470[19]=0
All rights reserved.
C24 GPIOE4 NDSR4 SCU414[4]=1 & RGMII4RXD0 SCU4B4[4]=1 & RMII4RXD0 SCU4B4[4]=1 & GPIOE4
SCU470[20]=0 SCU510[1]=1 & SCU510[1]=0 &
SCU470[20]=0 SCU470[20]=0
B26 GPIOE5 NRI4 SCU414[5]=1 & RGMII4RXD1 SCU4B4[5]=1 & RMII4RXD1 SCU4B4[5]=1 & GPIOE5
SCU470[21]=0 SCU510[1]=1 & SCU510[1]=0 &
de ED
SCU470[21]=0 SCU470[21]=0
B25 GPIOE6 NDTR4 SCU414[6]=1 & RGMII4RXD2 SCU4B4[6]=1 & RMII4CRSDV SCU4B4[6]=1 & GPIOE6
SCU470[22]=0 SCU510[1]=1 & SCU510[1]=0 &
SCU470[22]=0 SCU470[22]=0
B24 GPIOE7 NRTS4 SCU414[7]=1 & RGMII4RXD3 SCU4B4[7]=1 & RMII4RXER SCU4B4[7]=1 & GPIOE7
136
nt
SCU470[23]=0 SCU470[23]=0
D22 GPIOF0 SD1CLK SCU414[8]=1 PWM8 SCU4B4[8]=1 GPIOF0
E22 GPIOF1 SD1CMD SCU414[9]=1 PWM9 SCU4B4[9]=1 GPIOF1
D23 GPIOF2 SD1DAT0 SCU414[10]=1 PWM10 SCU4B4[10]=1 GPIOF2
l
A24 GPIOF6 SD1CD# SCU414[14]=1 PWM14 SCU4B4[14]=1 GPIOF6
A23 GPIOF7 SD1WP# SCU414[15]=1 PWM15 SCU4B4[15]=1 GPIOF7
E21 GPIOG0 TXD6 SCU414[16]=1 SD2CLK SCU4B4[16]=1 & SALT9 SCU694[16]=1 GPIOG0
SCU450[1]=1
B22 GPIOG1 RXD6 SCU414[17]=1 SD2CMD SCU4B4[17]=1 & SALT10 SCU694[17]=1 GPIOG1
May 6, 2021
SCU450[1]=1
to next page
A
ASPEED Confidential
Co S
Ball Default Function 1 Control 1 Function 2 Control 2 Function 3 Control 3 Others
C21 GPIOG2 TXD7 SCU414[18]=1 SD2DAT0 SCU4B4[18]=1 & SALT11 SCU694[18]=1 GPIOG2
SCU450[1]=1
A22 GPIOG3 RXD7 SCU414[19]=1 SD2DAT1 SCU4B4[19]=1 & SALT12 SCU694[19]=1 GPIOG3
SCU450[1]=1
P
A21 GPIOG4 TXD8 SCU414[20]=1 SD2DAT2 SCU4B4[20]=1 & SALT13 SCU694[20]=1 GPIOG4
nfi E
All rights reserved.
SCU450[1]=1
E20 GPIOG5 RXD8 SCU414[21]=1 SD2DAT3 SCU4B4[21]=1 & SALT14 SCU694[21]=1 GPIOG5
SCU450[1]=1
D21 GPIOG6 TXD9 SCU414[22]=1 SD2CD# SCU4B4[22]=1 & SALT15 SCU694[22]=1 GPIOG6
SCU450[1]=1
de ED
B21 GPIOG7 RXD9 SCU414[23]=1 SD2WP# SCU4B4[23]=1 & SALT16 SCU694[23]=1 GPIOG7
SCU450[1]=1
A18 GPIOH0 SGPM1CK SCU414[24]=1 GPIOH0
B18 GPIOH1 SGPM1LD SCU414[25]=1 GPIOH1
C18 GPIOH2 SGPM1O SCU414[26]=1 GPIOH2
137
nt
D18 GPIOH4 SGPS1CK SCU414[28]=1 SCL15 SCU4B4[28]=1 GPIOH4
B17 GPIOH5 SGPS1LD SCU414[29]=1 SDA15 SCU4B4[29]=1 GPIOH5
C17 GPIOH6 SGPS1I0 SCU414[30]=1 SCL16 SCU4B4[30]=1 GPIOH6
ia
D17 GPIOI0 MTRSTN2 SCU418[0]=1 TXD12 SCU4B8[0]=1 GPIOI0
A16 GPIOI1 MTDI2 SCU418[1]=1 RXD12 SCU4B8[1]=1 GPIOI1
E17 GPIOI2 MTCK2 SCU418[2]=1 TXD13 SCU4B8[2]=1 GPIOI2
l
D16 GPIOI3 MTMS2 SCU418[3]=1 RXD13 SCU4B8[3]=1 GPIOI3
C16 GPIOI4 MTDO2 SCU418[4]=1 GPIOI4
E16 GPIOI5 SIOPBO# SCU418[5]=1 k GPIOI5
SCU510[5]=1
B16 GPIOI6 SIOPBI# SCU418[6]=1 k GPIOI6
May 6, 2021
SCU510[5]=1
to next page
A
ASPEED Confidential
Co S
Ball Default Function 1 Control 1 Function 2 Control 2 Function 3 Control 3 Others
A15 GPIOI7 SIOSCI# SCU418[7]=1 k GPIOI7
SCU510[5]=1
B20 GPIOJ0 HVI3C3SCL SCU418[8]=1 SCL1 SCU4B8[8]=1 GPIOJ0
A20 GPIOJ1 HVI3C3SDA SCU418[9]=1 SDA1 SCU4B8[9]=1 GPIOJ1
P
E19 GPIOJ2 HVI3C4SCL SCU418[10]=1 SCL2 SCU4B8[10]=1 GPIOJ2
nfi E
All rights reserved.
de ED
D19 GPIOJ7 HVI3C6SDA SCU418[15]=1 SDA4 SCU4B8[15]=1 GPIOJ7
A11 GPIOK0 SCL5 SCU418[16]=1 GPIOK0
C11 GPIOK1 SDA5 SCU418[17]=1 GPIOK1
D12 GPIOK2 SCL6 SCU418[18]=1 GPIOK2
E13 GPIOK3 SDA6 SCU418[19]=1 GPIOK3
138
nt
E11 GPIOK5 SDA7 SCU418[21]=1 GPIOK5
F13 GPIOK6 SCL8 SCU418[22]=1 GPIOK6
E12 GPIOK7 SDA8 SCU418[23]=1 GPIOK7
l
C15 GPIOL4 TXD3 SCU418[28]=1 GPIOL4
F15 GPIOL5 RXD3 SCU418[29]=1 GPIOL5
B14 GPIOL6 VGAHS SCU418[30]=1 GPIOL6
C14 GPIOL7 VGAVS SCU418[31]=1 GPIOL7
May 6, 2021
Co S
Ball Default Function 1 Control 1 Function 2 Control 2 Function 3 Control 3 Others
A12 GPIOM2 NDSR1 SCU41C[2]=1 GPIOM2
E14 GPIOM3 NRI1 SCU41C[3]=1 GPIOM3
B12 GPIOM4 NDTR1 SCU41C[4]=1 GPIOM4
P
C12 GPIOM5 NRTS1 SCU41C[5]=1 GPIOM5
nfi E
C13 GPIOM6 TXD1 SCU41C[6]=1 GPIOM6
All rights reserved.
de ED
N24 GPION3 NRI2 SCU41C[11]=1 GPION3
P26 GPION4 NDTR2 SCU41C[12]=1 GPION4
M23 GPION5 NRTS2 SCU41C[13]=1 GPION5
N26 GPION6 TXD2 SCU41C[14]=1 GPION6
139
nt
AD26 GPIOO0 PWM0 SCU41C[16]=1 GPIOO0
AD22 GPIOO1 PWM1 SCU41C[17]=1 GPIOO1
AD23 GPIOO2 PWM2 SCU41C[18]=1 GPIOO2
AD24 GPIOO3 PWM3 SCU41C[19]=1 GPIOO3
l
AB22 GPIOP0 PWM8 SCU41C[24]=1 THRUIN0 SCU4BC[24]=1 k GPIOP0
SCU510[28]=1
W24 GPIOP1 PWM9 SCU41C[25]=1 THRUOUT0 SCU4BC[25]=1 k GPIOP1
SCU510[28]=1
k
May 6, 2021
Co S
Ball Default Function 1 Control 1 Function 2 Control 2 Function 3 Control 3 Others
AA24 GPIOP3 PWM11 SCU41C[27]=1 THRUOUT1 SCU4BC[27]=1 k GPIOP3
SCU510[28]=1
W23 GPIOP4 PWM12 SCU41C[28]=1 THRUIN2 SCU4BC[28]=1 k GPIOP4
SCU510[28]=1
P
AB23 GPIOP5 PWM13 SCU41C[29]=1 THRUOUT2 SCU4BC[29]=1 k GPIOP5
nfi E
All rights reserved.
SCU510[28]=1
AB24 GPIOP6 PWM14 SCU41C[30]=1 GPIOP6
Y23 HEARTBEAT PWM15 SCU41C[31]=1 SCU69C[31]=1 HEARTBEAT GPIOP7
AA25 GPIOQ0 TACH0 SCU430[0]=1 GPIOQ0
AB25 GPIOQ1 TACH1 SCU430[1]=1 GPIOQ1
de ED
Y24 GPIOQ2 TACH2 SCU430[2]=1 GPIOQ2
AB26 GPIOQ3 TACH3 SCU430[3]=1 GPIOQ3
Y26 GPIOQ4 TACH4 SCU430[4]=1 GPIOQ4
AC26 GPIOQ5 TACH5 SCU430[5]=1 GPIOQ5
140
nt
AA26 GPIOQ7 TACH7 SCU430[7]=1 GPIOQ7
V25 GPIOR0 TACH8 SCU430[8]=1 GPIOR0
U24 GPIOR1 TACH9 SCU430[9]=1 GPIOR1
V24 GPIOR2 TACH10 SCU430[10]=1 GPIOR2
l
W26 GPIOR6 TACH14 SCU430[14]=1 GPIOR6
U26 GPIOR7 TACH15 SCU430[15]=1 GPIOR7
R23 GPIOS0 MDC1 SCU430[16]=1 GPIOS0
T25 GPIOS1 MDIO1 SCU430[17]=1 GPIOS1
T26 GPIOS2 PEWAKE# SCU430[18]=1 GPIOS2
May 6, 2021
Co S
Ball Default Function 1 Control 1 Function 2 Control 2 Function 3 Control 3 Others
P24 GPIOS5 RXD10 SCU430[21]=1 GPIOS5
P23 GPIOS6 TXD11 SCU430[22]=1 GPIOS6
T24 GPIOS7 RXD11 SCU430[23]=1 GPIOS7
P
AD20 ADC0 GPIT0 SCU430[24]=1 ADC0
nfi E
AC18 ADC1 GPIT1 SCU430[25]=1 ADC1
All rights reserved.
de ED
AB18 ADC6 GPIT6 SCU430[30]=1 ADC6
AE18 ADC7 GPIT7 SCU430[31]=1 ADC7
AB16 ADC8 SALT9 SCU434[0]=1 & GPIU0 SCU434[0]=1 & ADC8
SCU694[16]=0 & SCU4D4[0]=0
SCU4D4[0]=1
141
nt
SCU694[17]=0 & SCU4D4[1]=0
SCU4D4[1]=1
AB17 ADC10 SALT11 SCU434[2]=1 & GPIU2 SCU434[2]=1 & ADC10
SCU694[18]=0 & SCU4D4[2]=0
ia
AE16 ADC11 SALT12 SCU434[3]=1 & GPIU3 SCU434[3]=1 & ADC11
SCU694[19]=0 & SCU4D4[3]=0
SCU4D4[3]=1
AC16 ADC12 SALT13 SCU434[4]=1 & GPIU4 SCU434[4]=1 & ADC12
l
SCU694[20]=0 & SCU4D4[4]=0
SCU4D4[4]=1
AA16 ADC13 SALT14 SCU434[5]=1 & GPIU5 SCU434[5]=1 & ADC13
SCU694[21]=0 & SCU4D4[5]=0
SCU4D4[5]=1
May 6, 2021
to next page
A
ASPEED Confidential
Co S
Ball Default Function 1 Control 1 Function 2 Control 2 Function 3 Control 3 Others
AD16 ADC14 SALT15 SCU434[6]=1 & GPIU6 SCU434[6]=1 & ADC14
SCU694[22]=0 & SCU4D4[6]=0
SCU4D4[6]=1
AC17 ADC15 SALT16 SCU434[7]=1 & GPIU7 SCU434[7]=1 & ADC15
P
SCU694[23]=0 & SCU4D4[7]=0
nfi E
SCU4D4[7]=1
All rights reserved.
de ED
AD14 GPIOV2 SIOPWREQ# SCU434[10]=1 k GPIOV2
SCU510[5]=1
AC15 GPIOV3 SIOONCTRL# SCU434[11]=1 k GPIOV3
SCU510[5]=1
AE15 GPIOV4 SIOPWRGD SCU434[12]=1 k GPIOV4
142
SCU510[5]=1
nt
AE14 GPIOV5 LPCPD# SCU434[13]=1 GPIOV5
AD15 GPIOV6 LPCPME SCU434[14]=1 GPIOV6
AF15 GPIOV7 LPCSMI# SCU434[15]=1 GPIOV7
AB7 GPIOW0 ESPID0 SCU434[16]=1 & LAD0 SCU434[16]=1 & ESPID0
AC8 GPIOW2
ESPID1
ESPID2
ia SCU434[17]=1
SCU510[6]=0
SCU434[18]=1
& LAD1
& LAD2
SCU434[17]=1
SCU510[6]=1
SCU434[18]=1
&
&
ESPID1
ESPID2
l
SCU510[6]=0 SCU510[6]=1
AC7 GPIOW3 ESPID3 SCU434[19]=1 & LAD3 SCU434[19]=1 & ESPID3
SCU510[6]=0 SCU510[6]=1
AE7 GPIOW4 ESPICK SCU434[20]=1 & LCLK SCU434[20]=1 & ESPICK
SCU510[6]=0 SCU510[6]=1
May 6, 2021
Co S
Ball Default Function 1 Control 1 Function 2 Control 2 Function 3 Control 3 Others
AD7 GPIOW6 ESPIALT# SCU434[22]=1 & LSIRQ# SCU434[22]=1 & ESPIALT#
SCU510[6]=0 SCU510[6]=1
AD8 GPIOW7 ESPIRST# SCU434[23]=1 & LPCRST# SCU434[23]=1 & ESPIRST#
SCU510[6]=0 SCU510[6]=1
P
AE8 GPIOX0 SPI2CS0# SCU434[24]=1 GPIOX0
nfi E
All rights reserved.
de ED
AD9 GPIOX5 SPI2MISO SCU434[29]=1 GPIOX5
AF9 GPIOX6 SPI2DQ2 SCU434[30]=1 TXD12 SCU4D4[30]=1 GPIOX6
AB10 GPIOX7 SPI2DQ3 SCU434[31]=1 RXD12 SCU4D4[31]=1 GPIOX7
AF11 GPIOY0 SALT5 SCU438[0]=1 WDTRST1# SCU4D8[0]=1 GPIOY0
AD12 GPIOY1 SALT6 SCU438[1]=1 WDTRST2# SCU4D8[1]=1 GPIOY1
143
nt
AA12 GPIOY3 SALT8 SCU438[3]=1 WDTRST4# SCU4D8[3]=1 GPIOY3
AE12 GPIOY4 FWSPIDQ2 SCU438[4]=1 k GPIOY4
SCU510[22]=1
AF12 GPIOY5 FWSPIDQ3 SCU438[5]=1 k GPIOY5
l
SCU510[22]=1
AC10 GPIOZ0 SPI1CS1# SCU438[8]=1 k GPIOZ0
(SCU510[16]=1 &
SCU510[18]=0)
AD10 GPIOZ1 SPI1ABR SCU438[9]=1 k GPIOZ1
May 6, 2021
SCU510[17]=1 k
SCU510[27]=1
to next page
A
ASPEED Confidential
Co S
Ball Default Function 1 Control 1 Function 2 Control 2 Function 3 Control 3 Others
AE10 GPIOZ2 SPI1WP# SCU438[10]=1 k GPIOZ2
SCU510[27]=1
AB11 GPIOZ3 SPI1CK SCU438[11]=1 SPI1CK
AC11 GPIOZ4 SPI1MOSI SCU438[12]=1 SPI1MOSI
P
AA11 GPIOZ5 SPI1MISO SCU438[13]=1 SPI1MISO
nfi E
All rights reserved.
de ED
SCU500[6]=1 SCU500[6]=0
D6 GPIO18A1 RGMII1TXCTL SCU400[1]=1 & RMII1TXEN SCU400[1]=1 & GPIO18A1
SCU500[6]=1 SCU500[6]=0
D5 GPIO18A2 RGMII1TXD0 SCU400[2]=1 & RMII1TXD0 SCU400[2]=1 & GPIO18A2
SCU500[6]=1 SCU500[6]=0
144
nt
SCU500[6]=1 SCU500[6]=0
C5 GPIO18A4 RGMII1TXD2 SCU400[4]=1 & GPIO18A4
SCU500[6]=1
E6 GPIO18A5 RGMII1TXD3 SCU400[5]=1 & GPIO18A5
l
SCU500[6]=1
B2 GPIO18B0 RGMII1RXD0 SCU400[8]=1 & RMII1RXD0 SCU400[8]=1 & GPIO18B0
SCU500[6]=1 SCU500[6]=0
B1 GPIO18B1 RGMII1RXD1 SCU400[9]=1 & RMII1RXD1 SCU400[9]=1 & GPIO18B1
SCU500[6]=1 SCU500[6]=0
May 6, 2021
Co S
Ball Default Function 1 Control 1 Function 2 Control 2 Function 3 Control 3 Others
E5 GPIO18B3 RGMII1RXD3 SCU400[11]=1 & RMII1RXER SCU400[11]=1 & GPIO18B3
SCU500[6]=1 SCU500[6]=0
D4 GPIO18B4 RGMII2TXCK SCU400[12]=1 & RMII2RCLKO SCU400[12]=1 & GPIO18B4
SCU500[7]=1 SCU500[7]=0
P
C2 GPIO18B5 RGMII2TXCTL SCU400[13]=1 & RMII2TXEN SCU400[13]=1 & GPIO18B5
nfi E
All rights reserved.
SCU500[7]=1 SCU500[7]=0
C1 GPIO18B6 RGMII2TXD0 SCU400[14]=1 & RMII2TXD0 SCU400[14]=1 & GPIO18B6
SCU500[7]=1 SCU500[7]=0
D3 GPIO18B7 RGMII2TXD1 SCU400[15]=1 & RMII2TXD1 SCU400[15]=1 & GPIO18B7
SCU500[7]=1 SCU500[7]=0
de ED
E4 GPIO18C0 RGMII2TXD2 SCU400[16]=1 & GPIO18C0
SCU500[7]=1
F5 GPIO18C1 RGMII2TXD3 SCU400[17]=1 & GPIO18C1
SCU500[7]=1
D2 GPIO18C2 RGMII2RXCK SCU400[18]=1 & RMII2RCLKI SCU400[18]=1 & GPIO18C2
145
SCU500[7]=1 SCU500[7]=0
nt
E3 GPIO18C3 RGMII2RXCTL SCU400[19]=1 & GPIO18C3
SCU500[7]=1
D1 GPIO18C4 RGMII2RXD0 SCU400[20]=1 & RMII2RXD0 SCU400[20]=1 & GPIO18C4
SCU500[7]=1 SCU500[7]=0
ia
SCU500[7]=1 SCU500[7]=0
E2 GPIO18C6 RGMII2RXD2 SCU400[22]=1 & RMII2CRSDV SCU400[22]=1 & GPIO18C6
SCU500[7]=1 SCU500[7]=0
l
E1 GPIO18C7 RGMII2RXD3 SCU400[23]=1 & RMII2RXER SCU400[23]=1 & GPIO18C7
SCU500[7]=1 SCU500[7]=0
AB4 GPIO18D0 EMMCCLK SCU400[24]=1 GPIO18D0
AA4 GPIO18D1 EMMCCMD SCU400[25]=1 GPIO18D1
AC4 GPIO18D2 EMMCDAT0 SCU400[26]=1 GPIO18D2
May 6, 2021
Co S
Ball Default Function 1 Control 1 Function 2 Control 2 Function 3 Control 3 Others
AB5 GPIO18D5 EMMCDAT3 SCU400[29]=1 GPIO18D5
AB6 GPIO18D6 EMMCCD# SCU400[30]=1 GPIO18D6
AC5 GPIO18D7 EMMCWP# SCU400[31]=1 GPIO18D7
P
Y1 GPIO18E0 FWSPI18CS# SCU500[3]=1 VBCS# SCU500[5]=1 EMMCDAT4 SCU404[0]=1 GPIO18E0
nfi E
Y2 GPIO18E1 FWSPI18CK SCU500[3]=1 VBCK SCU500[5]=1 EMMCDAT5 SCU404[1]=1 GPIO18E1
All rights reserved.
de ED
146
nt
Symbol : Description
# : Denotes active low signal
! : Denotes invert value, that is register value equals to 0
R[n] : Denotes bit index n of register R
k : Logical OR
& : Logical AND
S?A:B : Logical function: if(S = 1) then A else B
SRST# : Reset input pin
EXTRST# : Reset input pin
PERST# : Reset input pin
SSPRST# : SSP Reset input pin
LPCRST# : Reset input pin
LHRST# : Reset input pin
ESPIRST# : Reset input pin
ESPICS# : eSPI chip select input pin
PLTRST# : eSPI virtual wire of platform reset command input (ESPI098[5])
WDT Full : Watchdog full reset event
WDT SOC1 : Watchdog SOC reset event 1
WDT SOC2 : Watchdog SOC reset event 2
WDT ARM : Watchdog ARM reset event
Note: Program access the IP using un-supported access mode will get an un-predictable result.
ARM CoreSight Target ID has been fixed as 3f0f0f0fh or 0011 111100001111 0000 1111 0000111 1b. Please
refer to the following table to see the corresponding fields.
Table 12: SSP CM3 Interrupt Source Table for Shared Peripheral
Interrupt (SPI)
SCU510[0] = OTPSTRAP[32]
SCU510[1] = OTPSTRAP[33]
SCU510[2] = OTPSTRAP[34]
SCU510[3] = OTPSTRAP[35]
SCU510[4] = OTPSTRAP[36]
SCU510[5] = OTPSTRAP[37]
SCU510[6] = OTPSTRAP[38]
SCU510[7] = OTPSTRAP[39]
SCU510[8] = SCU510[30] ? OTPSTRAP[40] : FWSPICK
SCU510[9] = OTPSTRAP[41]
SCU510[10] = OTPSTRAP[42]
SCU510[11] = OTPSTRAP[43]
SCU510[12] = OTPSTRAP[44]
SCU510[13] = SCU510[30] ? GPIOZ6 : OTPSTRAP[45]
SCU510[14] = SCU510[30] ? GPIOZ7 : OTPSTRAP[46]
SCU510[15] = SCU510[30] ? FWSPICK : OTPSTRAP[47]
SCU510[16] = OTPSTRAP[48]
SCU510[17] = OTPSTRAP[49]
SCU510[18] = OTPSTRAP[50]
SCU510[19] = SCU510[30] ? GPIOZ3 : OTPSTRAP[51]
SCU510[20] = SCU510[30] ? GPIOZ4 : OTPSTRAP[52]
SCU510[21] = SCU510[30] ? GPIOZ5 : OTPSTRAP[53]
SCU510[22] = OTPSTRAP[54]
SCU510[24:23] = OTPSTRAP[56:55]
SCU510[25] = SCU510[30] ? GPIOY4 : OTPSTRAP[57]
SCU510[26] = SCU510[30] ? GPIOY5 : OTPSTRAP[58]
SCU510[27] = OTPSTRAP[59]
SCU510[28] = OTPSTRAP[60]
SCU510[29] = OTPSTRAP[61]
SCU510[30] = OTPSTRAP[62]
SCU510[31] = FWSPIMOSI
Here list the source registers that control the Secure Boot Enable:
• Pin Strap: FWSPIMOSI
• OTP Strap: OTPSTRAP[40]
ResetSOC[0] Fail
CPU Reset
No
Fail ABR
FMC WDT2
CS0/CS1 toggle 22 s
CPU Reset
Pass Pass
Boot success Boot success
# (
%"& '
%"& %
"%
#
!
"
"% )
#
SBMCU triggers
*
eMMC_Boot Engine
+ , -
to move boot data to
"%
SRAM
# #
# #
"
# #
ABR enable Boot first time ABR enable
CA7 disable
Boot from eMMC
Or
Boot from SPI with Secure Boot
SBE copies data from
Boot Media (SPI or
eMMC) to SRAM
Yes
SecureBoot Do SecureBoot
Enabled flow by SBE
No Boot Media
SRAM
Enable CA7 to boot
from SRAM
DRAM
CA7 linux
CA7 copies CA7 code
from Boot Media to
DRAM CA7 uboot
CA7 linux
CA7 SPL
CA7 uboot
Yes Do SecureBoot
SecureBoot flow on CA7's
CA7 SPL
Enabled code by CA7
No
The TrustZone involves establishing security by partiotioning as secure world and non secure world that are
separated in hardware. The secure world is established by carving out memory and peripherals and running
a separate operating system referred as the Trusted Execution Environment (TEE). The non secure world
would be the regular feature rich application environment running the regular OS refereed to as the Rich OS
Environment(REE).
By default, all of the masters IPs on AST2600 are treated as secure. Firmware developers have to configure
which IP belongs to REE through the register AHBC200. For example, if the UART DMA engine should not be
able to access TEE resource, then AHBC200[24] should be set to disable the secure privilege of UART DMA
engine. The configuration should be done at early booting stage. Once the configuration is done, the value
of AHBC200 can be protected by AHBC204[28] to defend against REE instrusion. Note that once the write
protection enforced by AHBC204 neither TEE nor REE are able to modify it. Only power-on reset can restore
the configuration.
For security issue, these features can be disabled by setting register SCU0C8[1] = 1 to disable port UART5
debug and SCU0D8[3] = 1 to disable port UART1 debug.
To enter the UART debug mode, follow the steps as below on terminal program then the UART port will enter
the debug mode:
’address’ is 32-bit hexadecimal mode (no prefix 0x). Maximum 8 digits. No leading zeros.
’b data’ is 8-bit hexadecimal mode (no prefix 0x). Maximum 2 digits. No leading zeros.
’d data’ is 32-bit hexadecimal mode (no prefix 0x). Maximum 8 digits. No leading zeros.
’length’ is 32-bit hexadecimal mode (no prefix 0x). Maximum 8 digits. No leading zeros.
’list data’ is a list of binary data. The list length is described by ’length’ in the unit of byte. All
bytes in ’list data’ are consecutive without any delimiter character.
’ ’ is required to seperate command and arguments.
[Key Enter] is added at the end of a command to fire the command. It contains 2 binary codes
0x0d and 0x0a.
5z&0VK{@`HW}H~V310=l=JB+M]IV-f;Sz98XfCA&Rp)i|Jo=2?IBN$QaQ2"Kb|Ov
Part III
Function Registers
12 Register Type Abbreviations
The following abbreviations are used to indicate the Register Type throughout this document.
RW = Capable of Read & Write.
R = Capable of Read
W = Capable of Write
RO = Read Only. Writing to the register will not cause any effects.
WO = Write Only. Reading from the register returns unpredictable values.
WT = Write to Trigger. Writing a specified value to a register to trigger some hardware operations.
W1C = Write 1 to Clear. Writing 1 to a register to clear its value to 0. Writing 0 has no effect.
W1S = Write 1 to Set. Writing 1 to a register to set its value to 1. Writing 0 has no effect.
W1T = Write 1 to Trigger. Writing 1 to a register to trigger some hardware operations. Writing 0 has no
effect.
RWT = R + WT
RW1C = R + W1C
RW1S = R + W1S
OTP = One time programmable. It can be programmed once during whole chip life cycle.
AHBC also provide remapping mechanism to speed up the access time of program code.
There is a new feature added to log a specific address read/write data into a log buffer. The log buffer can be
placed in DRAM or SRAM. The log buffer size supported is from 4K bytes ∼ 1M bytes. The log buffer is helpful
for firmware debugging. Such as logging the firmware console output message. Or it can be used to monitor
a specific control register for debugging the firmware behavior.
13.2 Features
• Directly connected to internal AHB bus
• AHB master and slave controller
• AHB bus multiplexer
• AHB slave address decoder
• AHB master controller with two-level arbitration (round-robin arbitration for each arbitration level)
• AHB memory address remapping control with register-write protection
• AHB bus lock prevention watchdog function
Offset: 40h AHBC40: AHB Bus Command Recording Control/Status Register Init = 0
Bit R/W Reset Description
31:11 RO - Reserved (0)
10:8 RW RstFull Buffer Size
000: 4KB
001: 8KB
010: 16KB
011: 32KB
100: 128KB
101: 256KB
110: 512KB
111: 1024KB
7 RO - Reserved (0)
to next page
Bit[8] : UART-DMA
Bit[7] : eSPI
Bit[6] : Coprocessor
Bit[5] : SPI Slave to AHB Bridge
Bit[4] : Firmware Flash DMA
Bit[3] : LPC to AHB Bridge
Bit[2] : PCI-E to AHB Bridge
Bit[1] : ARM CPU
Bit[0] : AHBC
Offset: 88h AHBC88: AHB Bus Target Disable Control Register Init = 0x0
Bit R/W Reset Description
31:24 RO - Reserved (0)
23 RW Rst211 Disable target PCIe Security Controller
22 RW Rst211 Disable target Host 2 BMC bridge
21 RW Rst211 Disable target DP MCU
20 RW Rst211 Disable target ECC/RSA Engine
19 RW Rst211 Disable target PCIe RC memory aperture
18 RW Rst211 Disable target AHB to PCIe RC bridge controller
17 RW Rst211 Disable target HACE
16 RW Rst211 Disable target CM3
15 RW Rst211 Disable target USB2.0 EHCI Host Controller on PCIe
14 RW Rst211 Disable targets of APB bus part 1
13 RW Rst211 Disable target DP MCU
12 RW Rst211 Disable target AHB-to-DRAM
11 RW Rst211 Disable target Firmware Flash
10 RW Rst211 Disable target eMMC
9 RW Rst211 Disable target 2D Engine
8 RW Rst211 Disable target Video Engine
7 RW Rst211 Disable target APB Bridge
6 RW Rst211 Disable target SWVIC
5 RW Rst211 Disable target USB2.0 port1
4 RW Rst211 Disable target USB Host
3 RW Rst211 Disable target MAC1/MAC2
2 RW Rst211 Disable target RVAS
1 RW Rst211 Disable target SRAM
0 RW Rst211 Disable target RVAS LMEM
Note :
This specific register bit will be set to ’1’ when watchdog timeout if the AHBC is locked by the target.
Offset: 94h AHBC94: Watchdog Counter Reload Value Register Init = 0xC000
Bit R/W Reset Description
31:16 RO - Reserved (0)
15:0 RW Rst01 Counter reload value register
Reload register contains value which will be loaded into AHBC90 register.
When the reload value set to 0, it means to disable the watchdog timer.
Offset: C0h AHBCC0: Internal AHB Bus Flush Enable Register Init = 0x0
Bit R/W Reset Description
31:0 RW Rst212 Internal AHB bus flush enable register
The registers control the internal bus read flush write data in pipelines.
This register is reserved and please keep 0.
Offset: C4h AHBCC4: SWVIC CPU Lock Control Register Init = 0x0
Bit R/W Reset Description
31:1 RO - Reserved (0)
0 RW Rst212 SWVIC CPU Lock Control Register
The SWVIC registers can be locked to prevent ARM CA7 to access CM3 con-
trolled SWVIC registers (SWVIC18 and SWVIC1C) and also prevent CM3 to ac-
cess CA7 controlled SWVIC registers (SWVIC28 and SWVIC2C).
Offset: 200h AHBC200: TrustZone AHBC Master Secure Disable Register Init = 0x0
Bit R/W Reset Description
31:28 RW Rst212 Reserved (0)
27 RW Rst212 Disable I3C DMA secure privilege
26 RW Rst212 Disable secure boot MPU secure privilege
25 RW Rst212 Reserved (0)
24 RW Rst212 Disable Uart DMA secure privilege
23 RW Rst212 Disable eSPI bus to AHB bus bridge secure privilege
22 RW Rst212 Disable 80 port DMA (from LPC/eSPI) secure privilege
21 RW Rst212 Disable SPI DMA secure privilege
20 RW Rst212 Disable boot SPI DMA secure privilege
19 RW Rst212 Disable LPC bus to AHB bus bridge secure privilege
18 RW Rst212 Disable SD controller secure privilege
17:10 RW Rst212 Reserved (0)
9 RW Rst212 Disable DP MPU secure privilege
8 RW Rst212 Disable 80 port DMA (from PCIe) secure privilege
7 RW Rst212 Reserved (0)
6 RW Rst212 Disable CM3 secure privilege
5 RW Rst212 Disable GP MPU secure privilege
4 RW Rst212 Disable eMMC controller secure privilege
3 RW Rst212 Disable Uart debug secure privilege
2 RW Rst212 Disable PCIe to AHB bridge TrustZone secure privilege
1:0 RW Rst212 Reserved (0)
Offset: 208h AHBC208: AHBC and TrustZone Regiters Reset Selection Register Init = 0x0
Bit R/W Reset Description
31:2 RO - Reserved (0)
1 RW1S Rst212 TrustZone register reset selection
0: AHBC200-AHBC3B8 registers reset by AHB bus reset
1: AHBC200-AHBC3B8 registers reset by ARM CA7 reset
0 RW1S Rst212 AHBC register reset selection
0: AHBC00-AHBCC4 registers reset by AHB bus reset
1: AHBC00-AHBCC4 registers reset by ARM CA7 reset
Offset: 300h AHBC300: TrustZone Memory Region 1 Protection Start Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 1 Start Address
11:1 RO - Reserved (0)
0 RW Rst212 Protection Region 1 Enable
Offset: 304h AHBC304: TrustZone Memory Region 1 Protection End Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 1 End Address
11:0 RO - Reserved (0)
Offset: 308h AHBC308: TrustZone Memory Region 1 Protection Master Register Init = 0x0
Bit R/W Reset Description
31:28 RO - Reserved (0)
27 RW Rst212 Allow Access from DRAM REQ27
26 RW Rst212 Allow Access from DRAM REQ26
25 RW Rst212 Allow Access from DRAM REQ25
24 RW Rst212 Allow Access from DRAM REQ24
23 RW Rst212 Allow Access from DRAM REQ23
22 RW Rst212 Allow Access from DRAM REQ22
21 RW Rst212 Allow Access from DRAM REQ21
to next page
Offset: 310h AHBC310: TrustZone Memory Region 2 Protection Start Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 2 Start Address
11:1 RO - Reserved (0)
0 RW Rst212 Protection Region 2 Enable
Offset: 314h AHBC314: TrustZone Memory Region 2 Protection End Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 2 End Address
11:0 RO - Reserved (0)
Offset: 318h AHBC318: TrustZone Memory Region 2 Protection Master Register Init = 0x0
Bit R/W Reset Description
31:28 RO - Reserved (0)
27 RW Rst212 Allow Access from DRAM REQ27
26 RW Rst212 Allow Access from DRAM REQ26
25 RW Rst212 Allow Access from DRAM REQ25
24 RW Rst212 Allow Access from DRAM REQ24
23 RW Rst212 Allow Access from DRAM REQ23
22 RW Rst212 Allow Access from DRAM REQ22
to next page
Offset: 320h AHBC320: TrustZone Memory Region 3 Protection Start Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 3 Start Address
11:1 RO - Reserved (0)
0 RW Rst212 Protection Region 3 Enable
Offset: 324h AHBC324: TrustZone Memory Region 3 Protection End Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 3 End Address
11:0 RO - Reserved (0)
Offset: 328h AHBC328: TrustZone Memory Region 3 Protection Master Register Init = 0x0
Bit R/W Reset Description
31:28 RO - Reserved (0)
27 RW Rst212 Allow Access from DRAM REQ27
26 RW Rst212 Allow Access from DRAM REQ26
25 RW Rst212 Allow Access from DRAM REQ25
24 RW Rst212 Allow Access from DRAM REQ24
23 RW Rst212 Allow Access from DRAM REQ23
to next page
Offset: 330h AHBC330: TrustZone Memory Region 4 Protection Start Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 4 Start Address
11:1 RO - Reserved (0)
0 RW Rst212 Protection Region 4 Enable
Offset: 334h AHBC334: TrustZone Memory Region 4 Protection End Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 4 End Address
11:0 RO - Reserved (0)
Offset: 338h AHBC338: TrustZone Memory Region 4 Protection Master Register Init = 0x0
Bit R/W Reset Description
31:28 RO - Reserved (0)
27 RW Rst212 Allow Access from DRAM REQ27
26 RW Rst212 Allow Access from DRAM REQ26
25 RW Rst212 Allow Access from DRAM REQ25
24 RW Rst212 Allow Access from DRAM REQ24
to next page
Offset: 340h AHBC340: TrustZone Memory Region 5 Protection Start Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 5 Start Address
11:1 RO - Reserved (0)
0 RW Rst212 Protection Region 5 Enable
Offset: 344h AHBC344: TrustZone Memory Region 5 Protection End Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 5 End Address
11:0 RO - Reserved (0)
Offset: 348h AHBC348: TrustZone Memory Region 5 Protection Master Register Init = 0x0
Bit R/W Reset Description
31:28 RO - Reserved (0)
27 RW Rst212 Allow Access from DRAM REQ27
26 RW Rst212 Allow Access from DRAM REQ26
25 RW Rst212 Allow Access from DRAM REQ25
to next page
Offset: 350h AHBC350: TrustZone Memory Region 6 Protection Start Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 6 Start Address
11:1 RO - Reserved (0)
0 RW Rst212 Protection Region 6 Enable
Offset: 354h AHBC354: TrustZone Memory Region 6 Protection End Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 6 End Address
11:0 RO - Reserved (0)
Offset: 358h AHBC358: TrustZone Memory Region 6 Protection Master Register Init = 0x0
Bit R/W Reset Description
31:28 RO - Reserved (0)
27 RW Rst212 Allow Access from DRAM REQ27
26 RW Rst212 Allow Access from DRAM REQ26
to next page
Offset: 360h AHBC360: TrustZone Memory Region 7 Protection Start Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 7 Start Address
11:1 RO - Reserved (0)
0 RW Rst212 Protection Region 7 Enable
Offset: 364h AHBC364: TrustZone Memory Region 7 Protection End Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 7 End Address
11:0 RO - Reserved (0)
Offset: 368h AHBC368: TrustZone Memory Region 7 Protection Master Register Init = 0x0
Bit R/W Reset Description
31:28 RO - Reserved (0)
27 RW Rst212 Allow Access from DRAM REQ27
to next page
Offset: 370h AHBC370: TrustZone Memory Region 8 Protection Start Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 8 Start Address
11:1 RO - Reserved (0)
0 RW Rst212 Protection Region 8 Enable
Offset: 374h AHBC374: TrustZone Memory Region 8 Protection End Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 8 End Address
11:0 RO - Reserved (0)
Offset: 378h AHBC378: TrustZone Memory Region 8 Protection Master Register Init = 0x0
Bit R/W Reset Description
31:28 RO - Reserved (0)
to next page
Offset: 380h AHBC380: TrustZone Memory Region 9 Protection Start Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 9 Start Address
11:1 RO - Reserved (0)
0 RW Rst212 Protection Region 9 Enable
Offset: 384h AHBC384: TrustZone Memory Region 9 Protection End Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 9 End Address
11:0 RO - Reserved (0)
Offset: 388h AHBC388: TrustZone Memory Region 9 Protection Master Register Init = 0x0
Bit R/W Reset Description
31:28 RO - Reserved (0)
27 RW Rst212 Allow Access from DRAM REQ27
26 RW Rst212 Allow Access from DRAM REQ26
25 RW Rst212 Allow Access from DRAM REQ25
24 RW Rst212 Allow Access from DRAM REQ24
23 RW Rst212 Allow Access from DRAM REQ23
22 RW Rst212 Allow Access from DRAM REQ22
21 RW Rst212 Allow Access from DRAM REQ21
20 RW Rst212 Allow Access from DRAM REQ20
19 RW Rst212 Allow Access from DRAM REQ19
18 RW Rst212 Allow Access from DRAM REQ18
17 RW Rst212 Allow Access from DRAM REQ17
16 RW Rst212 Allow Access from DRAM REQ16
15 RW Rst212 Allow Access from DRAM REQ15
14 RW Rst212 Allow Access from DRAM REQ14
13 RW Rst212 Allow Access from DRAM REQ13
12 RW Rst212 Allow Access from DRAM REQ12
11 RW Rst212 Allow Access from DRAM REQ11
10 RW Rst212 Allow Access from DRAM REQ10
9 RW Rst212 Allow Access from DRAM REQ9
8 RW Rst212 Allow Access from DRAM REQ8
7 RW Rst212 Allow Access from DRAM REQ7
6 RW Rst212 Allow Access from DRAM REQ6
5 RW Rst212 Allow Access from DRAM REQ5
4 RW Rst212 Allow Access from DRAM REQ4
3 RW Rst212 Allow Access from DRAM REQ3
2 RW Rst212 Allow Access from DRAM REQ2
1 RW Rst212 Allow Access from DRAM REQ1
0 RW Rst212 Allow Access from DRAM REQ0
Offset: 390h AHBC390: TrustZone Memory Region 10 Protection Start Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 10 Start Address
11:1 RO - Reserved (0)
0 RW Rst212 Protection Region 10 Enable
Offset: 394h AHBC394: TrustZone Memory Region 10 Protection End Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 10 End Address
11:0 RO - Reserved (0)
Offset: 398h AHBC398: TrustZone Memory Region 10 Protection Master Register Init = 0x0
Bit R/W Reset Description
31:28 RO - Reserved (0)
27 RW Rst212 Allow Access from DRAM REQ27
26 RW Rst212 Allow Access from DRAM REQ26
25 RW Rst212 Allow Access from DRAM REQ25
24 RW Rst212 Allow Access from DRAM REQ24
23 RW Rst212 Allow Access from DRAM REQ23
22 RW Rst212 Allow Access from DRAM REQ22
21 RW Rst212 Allow Access from DRAM REQ21
20 RW Rst212 Allow Access from DRAM REQ20
19 RW Rst212 Allow Access from DRAM REQ19
18 RW Rst212 Allow Access from DRAM REQ18
17 RW Rst212 Allow Access from DRAM REQ17
16 RW Rst212 Allow Access from DRAM REQ16
15 RW Rst212 Allow Access from DRAM REQ15
14 RW Rst212 Allow Access from DRAM REQ14
13 RW Rst212 Allow Access from DRAM REQ13
12 RW Rst212 Allow Access from DRAM REQ12
11 RW Rst212 Allow Access from DRAM REQ11
10 RW Rst212 Allow Access from DRAM REQ10
9 RW Rst212 Allow Access from DRAM REQ9
8 RW Rst212 Allow Access from DRAM REQ8
7 RW Rst212 Allow Access from DRAM REQ7
6 RW Rst212 Allow Access from DRAM REQ6
5 RW Rst212 Allow Access from DRAM REQ5
4 RW Rst212 Allow Access from DRAM REQ4
3 RW Rst212 Allow Access from DRAM REQ3
2 RW Rst212 Allow Access from DRAM REQ2
1 RW Rst212 Allow Access from DRAM REQ1
0 RW Rst212 Allow Access from DRAM REQ0
Offset: 3A0h AHBC3A0: TrustZone Memory Region 11 Protection Start Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 11 Start Address
11:1 RO - Reserved (0)
0 RW Rst212 Protection Region 11 Enable
Offset: 3A4h AHBC3A4: TrustZone Memory Region 11 Protection End Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 11 End Address
11:0 RO - Reserved (0)
Offset: 3A8h AHBC3A8: TrustZone Memory Region 11 Protection Master Register Init = 0x0
Bit R/W Reset Description
31:28 RO - Reserved (0)
27 RW Rst212 Allow Access from DRAM REQ27
26 RW Rst212 Allow Access from DRAM REQ26
25 RW Rst212 Allow Access from DRAM REQ25
24 RW Rst212 Allow Access from DRAM REQ24
23 RW Rst212 Allow Access from DRAM REQ23
22 RW Rst212 Allow Access from DRAM REQ22
21 RW Rst212 Allow Access from DRAM REQ21
20 RW Rst212 Allow Access from DRAM REQ20
19 RW Rst212 Allow Access from DRAM REQ19
18 RW Rst212 Allow Access from DRAM REQ18
17 RW Rst212 Allow Access from DRAM REQ17
16 RW Rst212 Allow Access from DRAM REQ16
15 RW Rst212 Allow Access from DRAM REQ15
14 RW Rst212 Allow Access from DRAM REQ14
13 RW Rst212 Allow Access from DRAM REQ13
12 RW Rst212 Allow Access from DRAM REQ12
11 RW Rst212 Allow Access from DRAM REQ11
10 RW Rst212 Allow Access from DRAM REQ10
9 RW Rst212 Allow Access from DRAM REQ9
8 RW Rst212 Allow Access from DRAM REQ8
7 RW Rst212 Allow Access from DRAM REQ7
6 RW Rst212 Allow Access from DRAM REQ6
5 RW Rst212 Allow Access from DRAM REQ5
4 RW Rst212 Allow Access from DRAM REQ4
3 RW Rst212 Allow Access from DRAM REQ3
2 RW Rst212 Allow Access from DRAM REQ2
1 RW Rst212 Allow Access from DRAM REQ1
0 RW Rst212 Allow Access from DRAM REQ0
Offset: 3B0h AHBC3B0: TrustZone Memory Region 12 Protection Start Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 12 Start Address
11:1 RO - Reserved (0)
0 RW Rst212 Protection Region 12 Enable
Offset: 3B4h AHBC3B4: TrustZone Memory Region 12 Protection End Register Init = 0x0
Bit R/W Reset Description
31:12 RW Rst212 Protection Region 12 End Address
11:0 RO - Reserved (0)
Offset: 3B8h AHBC3B8: TrustZone Memory Region 12 Protection Master Register Init = 0x0
Bit R/W Reset Description
31:28 RO - Reserved (0)
27 RW Rst212 Allow Access from DRAM REQ27
26 RW Rst212 Allow Access from DRAM REQ26
25 RW Rst212 Allow Access from DRAM REQ25
24 RW Rst212 Allow Access from DRAM REQ24
23 RW Rst212 Allow Access from DRAM REQ23
22 RW Rst212 Allow Access from DRAM REQ22
21 RW Rst212 Allow Access from DRAM REQ21
20 RW Rst212 Allow Access from DRAM REQ20
19 RW Rst212 Allow Access from DRAM REQ19
18 RW Rst212 Allow Access from DRAM REQ18
17 RW Rst212 Allow Access from DRAM REQ17
16 RW Rst212 Allow Access from DRAM REQ16
15 RW Rst212 Allow Access from DRAM REQ15
14 RW Rst212 Allow Access from DRAM REQ14
13 RW Rst212 Allow Access from DRAM REQ13
12 RW Rst212 Allow Access from DRAM REQ12
11 RW Rst212 Allow Access from DRAM REQ11
10 RW Rst212 Allow Access from DRAM REQ10
9 RW Rst212 Allow Access from DRAM REQ9
8 RW Rst212 Allow Access from DRAM REQ8
7 RW Rst212 Allow Access from DRAM REQ7
6 RW Rst212 Allow Access from DRAM REQ6
5 RW Rst212 Allow Access from DRAM REQ5
4 RW Rst212 Allow Access from DRAM REQ4
3 RW Rst212 Allow Access from DRAM REQ3
2 RW Rst212 Allow Access from DRAM REQ2
1 RW Rst212 Allow Access from DRAM REQ1
0 RW Rst212 Allow Access from DRAM REQ0
• Re-define the command filters, supports 40 non-address check commands and 24 address check com-
mands.
• Add 0x13 read command option for 4B address Auto-Read command mode.
• Add programmable fine delay tuning on data input path for high speed read timing compensation.
• Add the address filters to 8 sets.
• Add another alternate boot option to support single flash ABR.
• Add support Quad-IO and QPI mode.
• Add support auto-generate soft-reset command to CE0 after watchdog reset.
• Add support auxiliary control pins for BMC SPI ABR/WriteProtect functions, which is enabled by strap bit
OTP trap en bspi auxpin .
– CRTM only works when OTP trap en bspi auxpin = 1, OTP trap en bspiabr = 1, and FWSPIWP# is
active
– Value definition:
* 00 : disable CRTM
* 01 : 256KB
* 10 : 512KB
* 11 : 1MB
– When CRTM is enabled, FMCA4[3:0] = 0xF. And FMCB0/FMCB4 are determined by ABR mode,
SPI size, and CRTM size, not changable.
CE0
BMC Alternate 8MB
Base = 0x20800000
0x0087FFFF
CRTM
CE0 CE1
BMC Primary BMC Alternate 0x00800000
Base = 0x20000000 Base = 0x21000000 0x007FFFFF
CE0
BMC Primary 8MB
Base = 0x20000000
0x00080000 0x00080000
0x0007FFFF 0x0007FFFF
CRTM CRTM CRTM
0x00000000 0x00000000
14.2 Features
This SPI controller provides 3 chip select pins (CE0 ∼ CE2) to control at most 3 flash memory devices. And
CE0 ∼ CE2 can be assigned to different non-overlapping and continuous address regions with programmable
starting/ending address. The allowed flash memory address space is:
• 0x2000 0000 ∼ 0x2FFF FFFF.
CE0 is the default firmware booting source. The base address of CE0 is default set at:
1. 0x0000 0000
2. 0x2000 0000
For different size support, firmware must change the accessed CE or modify the address decoding range de-
fined at FMC30.
• Support high clock rate (> 50MHz) read timing calibration function.
• Support DMA for bulk data transfer between SPI flash and DRAM/SRAM.
CE0 selection would be toggled for each 2 seconds by address detection FMC WDT1.
to next page
Offset: 08h FMC08: Interrupt Control and Status Register Init = 0x0
Bit R/W Description
31:14 RO Reserved (0)
13 RO DMA Buffer Mode FIFO Full Status
0: FIFO is non-full
1: FIFO is full
12 RO DMA Buffer Mode FIFO Empty Status
0: FIFO is non-empty
1: FIFO is empty
11 RO DMA Status
0: Busy when DMA was enabled, or Idle when DMA was disabled.
1: DMA Finish
Disable DMA will also clear this bit.
10 RW SPI Command Abort Status
Command abort conditions as below:
• User-Mode read/write command when command or address filter are enabled.
• Normal-Read with un-supported command when command filter is enabled.
• Normal-Write with un-supported command when command filter is enabled.
• Normal-Write to protected address when write disabled or address filter is enabled.
This bit is write ’1’ cleared.
9 RW SPI Write Address Protected Status
This status indicates a write command is written to the write protected address range. The
write protected address is defined by the ”Default Write Type” and ”Write Address Filter”
registers.
This bit is write ’1’ cleared.
8:5 RO Reserved (0)
4 RW DMA Buffer Mode FIFO Full/Empty Interrupt Enable
3 RW DMA Interrupt Enable
2 RW SPI Command Abort Interrupt Enable
1 RW SPI Write Address Protected Interrupt Enable
0: Disable
1: Enable
0 RO Reserved (0)
Offset: 10h FMC10: SPI CE0 Control Register Init = 0x0000 0400
Offset: 14h FMC14: SPI CE1 Control Register Init = 0x0000 0400
Offset: 18h FMC18: SPI CE2 Control Register Init = 0x0000 0400
Bit Attr. Description
31:28 RW IO Mode
0000: single bit.
0010: dual bit read/write, data cycle only.
0011: dual bit read/write, including address and dummy byte cycle.
0100: quad bit read/write, data cycle only.
0101: quad bit read/write, including address and dummy byte cycle.
1xxx: QPI mode, quad bit on command/address/data cycles.
others: reserved
The IO mode also apply to User-Mode, and User mode only has data cycles, no command
and address/dummy cycles.
27:24 RW SPI base clock selection
0000: baseclk = 0 * HCLK
0001: baseclk = 16 * HCLK
0010: baseclk = 32 * HCLK
0011: baseclk = 48 * HCLK
....
1111: baseclk = 240 * HCLK
23:16 RW SPI Command
The content of this register is used for Normal-Read or Normal-Write CMD phase.
15 RW Dummy cycle command output
0: dummy cycle no command output
1: first dummy cycle has command output
14 RW Dummy cycles before data for Normal-Read command (high bits)
13 RW Reserved
12 RW Disable SPI flash read/write command merge
0: Enable
1: Disable (with performance penalty)
Set this bit will disable the SPI controller to merge continuous address read and write.
By default, continuous address read and write will be merged to reduce the command
overhead while read or write commands continuously occur within 256 HCLK clocks.
to next page
ASPEED Confidential All rights reserved. 243 May 6, 2021
ASPEED AST2600 A3 Datasheet – V0.9
When in User-Mode, SPI command cycle will be activated (CE# low) until set this bit to 1.
Thats to say setting this bit to 1 will stop activating SPI interface after Read/Write operation
finished or immediately if no Read/Write operation is in progress.
But when different CE command is entered, SPI interface will be deactivated immediately.
to next page
At User-Mode, address only used for decoding CE, all address decoded in the same CE
address range are valid, and data will be read/write from/to the SPI flash in the order of
LSB byte first. This mode provides a flexible programming method for specific command
type other than Normal-Read/Write command supported.
Offset: 30h FMC30: CE0 Address Decoding Range Register Init = 0x07F0 0000
Offset: 34h FMC34: CE1 Address Decoding Range Register Init = 0x0000 0000
Offset: 38h FMC38: CE2 Address Decoding Range Register Init = 0x0000 0000
Bit Attr. Description
31:16 RW End address A[31:16]
Here defines the CEx upper bound address limit with the unit of 1MB. Only A[27:20] are
used for decoding.
to next page
The valid address range for each CE is: StartAdr ≤ CEx ≤ EndAdr.
When configure Start address = End address, then the decoding is disabled.
The valid flash decoding address is as blelow, and the total decoding space is 256MB:
0x0000 0000 - 0x0FFF FFFF (decoded to CE0 only)
0x2000 0000 - 0x2FFF FFFF
When OTP trap bspi size [2:0] 6= 0, the default address segment for CE0 is determined
by OTP trap bspi size [2:0].
When OTP trap bspi size [2:0] 6= 0 and OTP trap bspi abrmode = 0, the default address
segment for CE1 is determined by OTP trap bspi size [2:0].
The address segments setting of 3 chips select must not be overlapped. It will cause error
when overlapped.
There is a rule must be followed in defining the Start address. For example:
0x20000000, valid address mask = 0x0FFFFFF, can address 0 ∼ 256MB flash chip
0x24000000, valid address mask = 0x03FFFFF, can address 0 ∼ 64MB flash chip
0x22000000, valid address mask = 0x01FFFFF, can address 0 ∼ 32MB flash chip
0x21000000, valid address mask = 0x00FFFFF, can address 0 ∼ 16MB flash chip
0x20800000, valid address mask = 0x007FFFF, can address 0 ∼ 8MB flash chip
Offset: 60h FMC60: FMC WDT1 Control/Status Register for Address Mode Detection Init = 0
Bit R/W Description
31:12 RO Reserved (0)
11:8 RO Watchdog active event counter
The counter value can be cleared by writing bit[31:24] = 0xEA.
7:1 RO Reserved (0)
0 RW Enable watchdog
Note :
The expire time for FMC WDT1 is hardware fixed on 2 seconds and can not be changed.
Offset: 64h FMC64: FMC WDT2 Control/Status Register for Alternate Boot Init = 0
Bit R/W Description
31:16 RO Reserved (0)
15:8 RO Watchdog active event counter
The counter value can be cleared by writing bit[31:24] = 0xEA.
7 RO Reserved (0)
6 RO Alternate Boot Mode that defined by OTP
0: 2 chips mode
1: 1 chip mode
5 RO Single chip boot mode source select indicator
4 RW Boot flash source select indicator
0: boot from primary source
1: boot from alternate source
This bit can be set to ’1’ only by FMC WDT2 or external ABR pin FWSPIABR (OTP
trap en bspi auxpin = 1), and cleared to ’0’ by writing bit[23:16] = 0xEA.
3:1 RO Reserved (0)
0 RW Enable watchdog
Offset: 68h FMC68: FMC WDT2 Timer Reload Value Register Init = 0xE0
Bit R/W Description
31:16 RO Counter value status
15:13 RO Reserved (0)
to next page
Offset: 94h FMC94: CE0 SPI Flash Read Timing Compensation Init = 0
Offset: 98h FMC98: CE1 SPI Flash Read Timing Compensation Init = 0
Offset: 9Ch FMC9C: CE2 SPI Flash Read Timing Compensation Init = 0
Bit Attr. Description
31:24 RW SPICLK = HCLK/5, delay cycle for data input latch point
23:16 RW SPICLK = HCLK/4, delay cycle for data input latch point
15:8 RW SPICLK = HCLK/3, delay cycle for data input latch point
7:0 RW SPICLK = HCLK/2, delay cycle for data input latch point
Bit[7:4]:
DI input delay selection, each step is about 0.5ns.
Bit[3]:
0: disable DI input delay
1: enable DI input delay
Bit[2:0]:
0: no delay
1: delay 1 HCLK
2: delay 2 HCLK
3: delay 3 HCLK
4: delay 4 HCLK
others: delay 5 HCLK
Note :
This read timing applied to all CE’s SPI flash. So it may need to change the timing for different CE SPI flash.
When OTP trap en bspi auxpin = 1 and external FWSPIWP# pin is active, CE0/(and CE1
if OTP trap bspi abrmode =0) filter will be always enabled. If FWSPIWP# is not active,
then CE0/CE1 filter can be controlled by software.
When OTP trap en bspi auxpin = 1, FWSPIWP# = 0 and CRTM is enabled, filter #1 & #2
will be forced to ”11” mode. And address range at FMCB0 & FMCB4 are determined by
OTP trap bspi size and OTP trap bspi crtmsize .
When FWSPIWP# = 1 or CRTM is disabled, filter #1 & #2 can be set by firmware.
Note :
Address filters take effect under 2 conditions:
1. When command filter is enabled, then write is allowed when command matches AQCD and address pass
address filters.
2. When command filter is disabled, then write is allowed when address pass address filters or configured in
User-Mode.
The write filter mode is defined by 2 registers: FMC00 bit[18:16] and FMCA4.
Protection mode as below:
1. If FMC00 is write disabled, the write can be enabled by FMCA4.
2. If FMC00 is write enabled, then write can be disabled by FMCA4.
The address segments defined on FMCB0 ∼ FMCCC controls the address range for write allowed or disallowed.
When FQCD register is enabled by bit31 but not defined, please set the command as 0x0.
Below commands would be used by controller for auto command generation:
0x03, 0x13, 0x05, 0x66, 0x99
When AQCD register is enabled by bit31 but not defined, please set the command as 0x0.
For commands listed in these registers can be executed correctly and avoid address aliasing, the address size
should be 3 or 4 bytes that matching the command definition, and the address should pass the address filter.
Offset: 200h FMC200: DMA FIFO Mode Data Port Register Init = X
Bit R/W Description
31:0 RW FIFO data read/write port
1. This data port work when DMA buffer mode and DMA are both enabled.
2. When in TX mode transfer and FIFO is not full, firmware can write this port to push
data into FIFO for TX transfer. And the length counter will increment by 1 for each
write. Write would be ignored if FIFO is full.
3. When in RX mode transfer and FIFO is not empty, firmware can read this port to pop
data from FIFO to get RX data. And the length counter will decrement by 1 for each
read. Read return dummy data if FIFO is empty.
4. Read/Write of this register is 32 bits format.
The continuity rule designed by hardware was based on the full double word basis, that is all 4 byte lanes on
a 32bits command. Any below condition will terminate the address continuity and inactive the SPI CS# before
new command.
• Read or write to flash registers.
• Non-4-byte lane access to flash will stop the continuity of NEXT flash access command.
• LSB byte lane disabled will stop the continuity of CURRENT flash access.
• Crossover the 4K-bytes address boundary.
• Read-to-write or write-to-read operation switching.
• DMA cycle beginning and ending.
0x00F00000 0x00F00000
0x00EFFFFF 0x00EFFFFF
CE0
8MB
Host Alternate
CE0 CE1
0x00800000
Host Primary Host Alternate
0x007FFFFF
CRTM
0x00700000
0x006FFFFF
CE0
8MB
Host Primary
0x00000000 0x00000000
15.1.4 Auxiliary control pins behavior for SPI1 (OTP trap en hspi auxpin = 1)
• SPI1ABR : alternate boot source selection pin.
– This pin function is enabled when OTP trap en hspi auxpin = 1 or OTP trap en hspiabr selpin = 1.
– SPI1ABR = low state, force to boot from primary code.
– SPI1ABR = high state, force to boot from alternate code.
– SPIR64[4] is determined by external SPI1ABR pin state, not changable.
• HOST CFGLOCK N : host write protect control signal from SIO register SIORFF9[0].
• SPI1WP# : write protect control input pin.
• FWSPIWP# : write protect control input pin.
• Registers between SPIRA0 to SPIR17C are only writable by Host and ARM CPU, the access right matrix
HOST CFGLOCK N FWSPIWP# SPI1WP# Host BMC
0 0 0 R R
0 0 1 R/W R
0 1 0 R R
as below: 0 1 1 R/W R
1 0 0 R R
1 0 1 R/W R
1 1 0 R R/W
1 1 1 R/W R/W
• Enable additional 2 data pins to support 4-bits IO mode.
• SPI transaction block for Host access is enabled when SPI1WP# = low state (SPIRA0[2]=1). FQCD and
AQCD are write protected from host write. And host access to SPI commands are filtered by FQCD and
AQCD.
• SPI transaction block for BMC access is enabled when either FWSPIWP# = low state or
HOST CFGLOCK N = 0 state (SPIRA0[0]=1). FQCD and AQCD are write protected from BMC write.
And BMC access to SPI commands are filtered by FQCD and AQCD.
• When external pin control of transaction block is not enabled, then software can control the transaction
block through related registers.
15.2 Features
15.2.1 SPI master controller features
• SPI1 (Host SPI) supports 2 chip select pins (CE0, CE1)
15.2.2 Alternate Boot (ABR) Code Selection for SPI1 (Host SPI)
• Alternate boot function is enabled by strap OTP trap en hspiabr .
• Alternate boot code source selection policy:
– OTP trap en hspi auxpin = 1 or OTP trap en hspiabr selpin = 1, boot source is selected by external
ABR pin SPI1ABR .
– OTP trap en hspi auxpin = 0 and OTP trap en hspiabr selpin = 0, boot source is selected by register
SPIR64[4].
• Supports 2 modes of alternate boot function:
1. Use 2 SPI flash parts, CE0 and CE1. CE0 is primary boot source, and alternate boot from CE1.
2. Use 1 SPI flash part, CE0. Uniformly split the flash space into 2 parts of same size. Upper partition
is the default boot area, and alternate boot from lower partition.
Flash size information is required for this boot mode.
• When use 2 flash mode and boot from CE1 flash, at this time the address mapping for CE0 and CE1 are
swapped. To restore the address mapping, firmware should clear the boot select flag at SPIR64.bit[4].
• When use 1 flash mode and boot from lower partition, at this time the address mapping for lower and
upper partition are swapped. To restore the address mapping, firmware should clear the boot select flag
at SPIR64.bit[4].
15:0 RO Reserved
Offset: 08h SPIR08: Interrupt Control and Status Register Init = 0x0
Bit R/W Description
31:14 RO Reserved (0)
13 RO DMA Buffer Mode FIFO Full Status
0: FIFO is non-full
1: FIFO is full
to next page
When in User-Mode, SPI command cycle will be activated (CE# low) until set this bit to 1.
Thats to say setting this bit to 1 will stop activating SPI interface after Read/Write operation
finished or immediately if no Read/Write operation is in progress.
But when different CE command is entered, SPI interface will be deactivated immediately.
1:0 RW Command Mode
00: Auto-Read (0x03/0x13 + Address + Read data [1/2/3/4 bytes])
01: Normal-Read (CMD + Address + Read data [1/2/3/4 bytes])
10: Normal-Write (CMD + Address + Write data [1/2/3/4 bytes])
11: User-Mode (Read/write data [1/2/3/4 bytes])
At User-Mode, address only used for decoding CE, all address decoded in the same CE
address range are valid, and data will be read/write from/to the SPI flash in the order of
LSB byte first. This mode provides a flexible programming method for specific command
type other than Normal-Read/Write command supported.
Offset: 30h SPIR30: CE0 Address Decoding Range Register Init = 0x07F0 0000
Offset: 34h SPIR34: CE1 Address Decoding Range Register Init = 0x0000 0000
Offset: 38h SPIR38: CE2 Address Decoding Range Register Init = 0x0000 0000
Bit Attr. Description
31:16 RW End address A[31:16]
Here defines the CEx upper bound address limit with the unit of 1MB. Only A[27:20] are
used for decoding.
to next page
The valid address range for each CE is: StartAdr ≤ CEx ≤ EndAdr.
When configure Start address = End address, then the decoding for this range is disabled.
The valid flash decoding address is as blelow, and the total decoding space is 256MB:
SPI1: 0x3000 0000 - 0x3FFF FFFF
SPI2: 0x5000 0000 - 0x5FFF FFFF
When OTP trap hspi size [2:0] 6= 0, the default address segment for CE0 is determined
by OTP trap hspi size [2:0].
When OTP trap hspi size [2:0] 6= 0 and OTP trap hspi abrmode = 0, the default address
segment for CE1 is determined by OTP trap hspi size [2:0].
The address segments setting of 3 chips select must not be overlapped. It will cause error
when overlapped.
There is a rule must be followed in defining the Start address. For example:
0x30000000, valid address mask = 0x0FFFFFF, can address 0 ∼ 256MB flash chip
0x34000000, valid address mask = 0x03FFFFF, can address 0 ∼ 64MB flash chip
0x32000000, valid address mask = 0x01FFFFF, can address 0 ∼ 32MB flash chip
0x31000000, valid address mask = 0x00FFFFF, can address 0 ∼ 16MB flash chip
0x30800000, valid address mask = 0x007FFFF, can address 0 ∼ 8MB flash chip
Offset: 6Ch SPIR6C: Host Direct Access Commands #4 (SPI1 only) Init = 0x00001303
Bit R/W Description
31:28 RW IO Mode for Read
0000: single bit.
0010: dual bit read/write, data cycle only.
0011: dual bit read/write, including address and dummy byte cycle.
0100: quad bit read/write, data cycle only.
0101: quad bit read/write, including address and dummy byte cycle.
1xxx: QPI mode, quad bit on command/address/data cycles.
others: reserved
to next page
Offset: 70h SPIR70: Host Direct Access Commands #1 (SPI1 only) Init = 0x80000605
Bit R/W Description
31 RW Enable command encoding for direct access
0: Disable, host should manage the controller to issue the required commands.
1: Enable, support encoded page program and erase commands. Refer Section 15.5.
30:26 RO Direct access command execution step (for debugging purpose only)
00000: Idle
others: busy
25 RO Reserved (0)
24 RW Host access SPI1 CE selection
0: CE0
1: CE1
23:16 RO SPI flash status register (for debugging purpose only)
bit16: WIP, write in progress
bit17: WEL, write enable latch
bit18 ∼ bit22: flash specific definition
bit23: SRWD, status register write protect
15:8 RW Command for Write Enable
7:0 RW Command for Read Status
Check status bit0 = 0 for program in progress status check.
Note :
The host direct access command also protected by command and address filter.
Offset: 74h SPIR74: Host Direct Access Commands #2 (SPI1 only) Init = 0x21201202
Bit R/W Description
31:24 RW Command for Sector (4K) Erase 4B mode
23:16 RW Command for Sector (4K) Erase 3B mode
15:8 RW Command for Page Program 4B mode
7:0 RW Command for Page Program 3B mode
Note :
The host direct access command also protected by command and address filter.
The command selection of 3B address or 4B address mode is depended on SPIR04[0].
Offset: 78h SPIR78: Host Direct Access Commands #3 (SPI1 only) Init = 0xDCD85C52
Bit R/W Description
31:24 RW Command for Block (64K) Erase 4B mode
23:16 RW Command for Block (64K) Erase 3B mode
15:8 RW Command for Block (32K) Erase 4B mode
7:0 RW Command for Block (32K) Erase 3B mode
Note :
The host direct access command also protected by command and address filter.
The command selection of 3B address or 4B address mode is depended on SPIR04[0].
Offset: 94h SPIR94: CE0 SPI Flash Read Timing Compensation Init = 0
Offset: 98h SPIR98: CE1 SPI Flash Read Timing Compensation Init = 0
Offset: 9Ch SPIR9C: CE2 SPI Flash Read Timing Compensation Init = 0
Bit Attr. Description
31:24 RW SPICLK = HCLK/5, delay cycle for data input latch point
23:16 RW SPICLK = HCLK/4, delay cycle for data input latch point
15:8 RW SPICLK = HCLK/3, delay cycle for data input latch point
7:0 RW SPICLK = HCLK/2, delay cycle for data input latch point
Bit[7:4]:
DI input delay selection, each step is about 0.5ns.
Bit[3]:
0: disable DI input delay
1: enable DI input delay
Bit[2:0]:
0: no delay
1: delay 1 HCLK
2: delay 2 HCLK
3: delay 3 HCLK
4: delay 4 HCLK
others: delay 5 HCLK
Note :
This read timing applied to all CE’s SPI flash. So it may need to change the timing for different CE SPI flash.
When OTP trap en hspi auxpin = 1 and external SPI1WP# pin is active, CE0 filter will
be always enabled. If SPI1WP# is not active, then CE0 filter can be controlled by software.
When OTP trap en hspi auxpin = 1 and CRTM is enabled, filter #1 & #2 will be forced to
”11” mode. And address range at SPIRB0 & SPIRB4 are determined by HW based on SPI
size and CRTM size.
When CRTM is disabled, filter #1 & #2 can be set by firmware.
Note :
Address filters take effect under 2 conditions:
1. When command filter is enabled, then write is allowed when command matches AQCD and address pass
address filters.
2. When command filter is disabled, then write is allowed when address pass address filters or configured in
User-Mode.
The write filter mode is defined by 2 registers: SPIR00 bit[18:16] and SPIRA4.
Protection mode as below:
1. If SPIR00 is write disabled, the write can be enabled by SPIRA4.
2. If SPIR00 is write enabled, then write can be disabled by SPIRA4.
The address segments defined on SPIRB0 ∼ SPIRC4 controls the address range for write allowed or disallowed.
Offset: 200h SPIR200: DMA FIFO Mode Data Port Register Init = X
Bit R/W Description
31:0 RW FIFO data read/write port
1. This data port work when DMA buffer mode and DMA are both enabled.
2. When in TX mode transfer and FIFO is not full, firmware can write this port to push
data into FIFO for TX transfer. And the length counter will increment by 1 for each
write. Write would be ignored if FIFO is full.
3. When in RX mode transfer and FIFO is not empty, firmware can read this port to pop
data from FIFO to get RX data. And the length counter will decrement by 1 for each
read. Read return dummy data if FIFO is empty.
4. Read/Write of this register is 32 bits format.
5. Register Read
Memory Write
Memory write supports below SPI Page Program sequence:
1. Issue write enable command (0x06)
2. Issue page program command (0x02/0x12)
3. Send write address/data come from Host
4. Check Status and wait ”write in progress” flag idle
Memory Read
Memory read supports below SPI Read sequence:
1. Use Auto-Read command (0x03/0x13) for SPI read
Memory Erase
Memory erase supports below SPI Erase sequence:
1. Issue write enable command (0x06)
2. There are 3 erase types can be chosen by Host:
• Sector (4KB) erase : Issue SE erase command (0x20/0x21)
• Block (32KB) erase : Issue BE32K erase command (0x52/0x5C)
• Block (64KB) erase : Issue BE64K erase command (0xD8/0xDC)
16.2 Features
• Integrate dual MAC modules compliant with IEEE802.3 and IEEE802.3z specification
• Support 10/100/1000M bps transfer rates
• Support Reduced Media Independent Interface (RMIIx4), Reduced Gigabit Media Independent Interface
(RGMIIx4)
• Support IEEE 802.1Q VLAN tag insertion and deletion
• Support High Priority Transmit Queue for QoS and CoS applications
• Independent TX/RX FIFO
• Support half and full duplex (1000 Mbps mode only supports full duplex)
• Support flow control for full duplex and backpressure for half duplex
• Integrated link list DMA engine with direct M-Bus accesses for transmitting and receiving packets
• Support Wake-on-LAN function with three wake-up events: Link status change, Magic packet and Wake-
up frame
16.3 Registers :
Base address of Ethernet MAC #1 = 0x1E66:0000
Base address of Ethernet MAC #2 = 0x1E68:0000
Base address of Ethernet MAC #3 = 0x1E67:0000
Base address of Ethernet MAC #4 = 0x1E69:0000
Offset: 08h MAC08: MAC Most Significant Address Register #0 (MAC MADR0) Init = 0
Bit R/W Description
31 RW Disable MAC address #0 control bit
0: Enable MAC address #0
1: Disable MAC address #0
30:16 RO Reserved (0)
15:0 RW MAC MADR0
The most significant 2 bytes of MAC address #0
Offset: 0Ch MAC0C: MAC Least Significant Address Register #0 (MAC LADR0) Init = 0
Bit R/W Description
31:0 RW MAC LADR0
The least significant 4 bytes of MAC address #0
Offset: 10h MAC10: Multicast Address Hash Table 0 Register (MAHT0) Init = 0
Bit R/W Description
31:0 RW MAHT0
Multicast address hash table bytes 3∼0 (Hash table 31:0)
Offset: 14h MAC14: Multicast Address Hash Table 1 Register (MAHT1) Init = 0
Bit R/W Description
31:0 RW MAHT1
Multicast address hash table bytes 7∼4 (Hash table 63:32)
Offset: 18h MAC18: Normal Priority Transmit Poll Demand Register (NPTXPD) Init = 0
Bit R/W Description
31:0 WT NPTXPD
When writing any value to the register, MAC engine reads the normal priority transmit
descriptor, process and checks the TXDMA OWN (TXDES#0 [31]) bit.
If TXDMA OWN (TXDES#0 [31]) = 1, it will move the transmit buffer data into the TX FIFO.
If RXPKT RDY (RXDES#0 [31]) = 0, it will move the receive packet data from the RX FIFO
into the receiving buffer in the local memory.
MAC20: Normal Priority Transmit Ring Base Address Register (NPTXR BADR)
Offset: 20h Init = 0
Bit Attr. Description
31 RO Reserved (0)
30:4 RW NPTXR BADR: Base address of the normal priority transmit ring [30:4]
The base address must be 16 bytes aligned
3 :0 RO Reserved (0)
Offset: 24h MAC24: Receive Ring Base Address Register (RXR BADR) Init = 0
Bit R/W Description
31 RO Reserved (0)
30:4 RW RXR BADR: Base address of the receive ring [30:4]
The base address must be 16 bytes aligned
3 :0 RO Reserved (0)
Offset: 28h MAC28: High Priority Transmit Poll Demand Register (HPTXPD) Init = 0
Bit R/W Description
31:0 WT HPTXPD
When writing any value to the register, MAC engine reads the high priority transmit
descriptor, process and check the TXDMA OWN (TXDES#0 [31]) bit.
if TXDMA OWN (TXDES#0 [31]) = 1, it will move the transmit buffer data into the TX FIFO.
MAC2C: High Priority Transmit Ring Base Address Register (HPTXR BADR)
Offset: 2Ch Init = 0
Bit Attr. Description
31 RO Reserved (0)
30:4 RW HPTXR BADR : Base address of the high priority transmit ring [30:4]
The base address must be 16 bytes aligned
3 :0 RO Reserved (0)
When TXINT THR != 0, MAC engine issues a transmit interrupt if the transmit packet
number transmitted by MAC engine reaches TXINT THR.
When TXINT THR = 0 and TXINT CNT = 0, issuing a transmit interrupt or not depends on
TXIC in TXDES#1.
11:8 RW TXINT CNT
This field defines the maximum wait time to issue transmit interrupt after a packet has
been transmitted by MAC engine.
The time unit is 1 TXINT time.
When TXINT THR = 0 and TXINT CNT = 0, issuing a transmit interrupt or not depends on
TXIC in TXDES#1.
7 RW RXINT TIME SEL
This field defines the period of RXINT time.
When RXINT THR != 0, MAC engine issues a receive interrupt if the receive packet
number received by MAC engine reaches RXINT THR.
If RXINT THR = 0 and RXINT CNT = 0, a receive interrupt will be issued when MAC
engine finishes receiving a receive packet.
3 :0 RW RXINT CNT
This field defines the maximum wait time to issue receive interrupt after a packet has
been received by MAC engine.
The time unit is 1 RXINT time.
If RXINT THR = 0 and RXINT CNT = 0, a receive interrupt is issued when a packet is
received by MAC engine.
Note :
Recommended value = 0000 1010h
The Interrupt Timer Control Register allows the software driver to reduce the number of transmit interrupt (MAC00
[4]) and receive interrupt (MAC00 [0]) by setting the register. This can lower CPU utilization for handling a large
number of interrupts.
The register defines two threshold values for the receive packet number and transmit packet number, and two
associated timers.
The threshold value defines the maximum number of receive or transmit interrupts that can be pending before an
interrupt is generated.
The timer defines the maximum wait time to issue transmit/receive interrupt after a packet has been transmit-
ted/received by MAC engine.
The threshold value and timer combination allows for batching of several packets into a single interrupt with a limit
for how long it can be pending.
The combination prevents throughput from being impeded in heavy traffic, and the time limit prevents resources from
being held for too long in low traffic.
The mitigation mechanism is similar for both receive and transmit interrupts.
There is a counter (TXPKT CNT) in MAC engine to count the packets transmitted by MAC engine.
When the counter reaches TXINT THR and TXINT THR != 0, MAC engine issues transmit interrupt.
There is also a counter (RXPKT CNT) in MAC engine to count the packets received by MAC engine.
When the counter reaches RXINT THR and RXINT THR != 0, MAC engine issues receive interrupt.
† The following is the condition for MAC engine to issue a transmit interrupt.
† The following is the condition for MAC engine to issue a receive interrupt.
Offset: 34h MAC34: Automatic Polling Timer Control Register (APTC) Init = 0
Bit R/W Description
31:13 RO Reserved (0)
12 RW TXPOLL TIME SEL
This field defines the period of TXPOLL time.
When TXPOLL CNT != 0, MAC engine polls the transmit descriptor automatically.
If TXPOLL CNT = 0, MAC engine does not poll the transmit descriptor automatically.
7 :5 RO Reserved (0)
to next page
When RXPOLL CNT != 0, MAC engine polls the receive descriptor automatically.
If RXPOLL CNT = 0, MAC engine does not poll the receive descriptor automatically.
Note :
Recommended value = 0000 0000h
The Automatic Polling Timer Control Register allows MAC engine to automatically poll the descriptors. This could
lower CPU utilization.
If the transmit automatic poll function is enabled, MAC engine automatically polls the transmit descriptor when the
transmit automatic poll timer expires.
If the function is disabled, software needs to write Transmit Poll Demand Register (MAC18) to trigger MAC engine to
read transmit descriptors after software has prepared the transmit packets in transmit buffers.
If the receive automatic poll function is enabled, MAC engine automatically polls the receive descriptor when the
receive automatic poll timer expires.
If the function is disabled, software needs to write Receive Poll Demand Register (MAC1C) to trigger MAC engine to
read receive descriptors after software has released the receive descriptors to MAC engine.
When in 1000 Mbps mode, if IFG INC= 1’b0, the value in the field should not be set more
than 2.
For example:
When IFG CNT=3’h1 and IFG INC=1’b1 in 1000 Mbps mode, then the IFG = 96+1x8 =
104 ns.
When IFG CNT=3’h1 and IFG INC=1’b0 in 1000 Mbps mode, then the IFG = 96-1x8 = 88
ns.
to next page
ASPEED Confidential All rights reserved. 285 May 6, 2021
ASPEED AST2600 A3 Datasheet – V0.9
When the byte count of the data in the RX FIFO reaches the threshold or there is at least
one packet in RX FIFO, hardware would begin to move the packet from RX FIFO to the
local memory.
Writing 0 to this field indicates that hardware should begin to move the packet after one
whole packet has been stored in RX FIFO.
The value software programs in this field should be less than RX FIFO size.
The unit is 64 bytes.
7 :4 RW HPKT THR: High Priority Transmit Packet Threshold
3 :0 RW NPKT THR: Normal Priority Transmit Packet Threshold
Note :
Recommended value = 0000 02F1h
Offset: 4Ch MAC4C: Receive Buffer Size Register (RBSR) Init = 0000 0640h
Bit R/W Description
31:14 RO Reserved (0)
13:0 RW RXBUF SIZE: Receive buffer size [13:0]
The unit is 1 byte
After setting the SW RST (MAC50 [31]) = 1 to do the software reset, it need to delay at
lease 10 us and then setting the SW RST (MAC50 [31]) = 1 to do the software reset again.
This means the software reset need to be done at least twice.
30:20 RO Reserved (0)
to next page
The field and GMAC MODE (Bit 9) are used to determine MAC engine speed mode.
GMAC MODE SPEED 100 Function
0 1 100 Mbps mode
0 0 10 Mbps mode
1 0 1000 Mbps mode
1 1 1000 Mbps mode
This field cannot be software reset.
Any change of this bit must also set bit31 to 1 to do the software reset.
18 RW DISCARD CRCERR
Discard the CRC error packet if there is CRC error status in the transmit packet.
17 RW RX BROADPKT EN
Receive broadcast packets.
16 RW RX MULTIPKT EN
Receive all multicast packets.
15 RW RX HT EN
Enable storing incoming packet if the packet passes hash table address filtering and is a
multicast packet.
14 RW RX ALLADR
Destination address of incoming packet not checked
13 RW JUMBO LF: Jumbo Long Frame
When set and for MAC #1∼#2, received packets with length more than 9596 (9600 for the
VLAN tag packet) bytes are treated as long frames.
When set and for MAC #3∼#4, received packets with length more than 2044 (2048 for the
VLAN tag packet) bytes are treated as long frames.
When cleared, received packets with length more than 1518 (1522 for the VLAN tag
packet) bytes are treated as long frames.
12 RW RX RUNT
Receive the incoming packet even if its length is less than 64 bytes (68 bytes if VLAN tag
is inserted).
The incoming packet length must be longer than or equal to 10 bytes.
11 RO Reserved (0)
10 RW CRC APD: Append CRC to transmitted packets
9 RW GMAC MODE: GMAC mode
If GMAC MODE = 1, MAC engine is in 1000 Mbps mode;
otherwise, MAC engine is in 10/100 Mbps mode.
After setting the SW RST (MAC50 [31]) = 1 to do the software reset, it need to delay at lease 10 us and then setting
the SW RST (MAC50 [31]) = 1 to do the software reset again.
Offset: 68h MAC68: Flow Control Register (FCR) Init = 0000 0400h
Bit R/W Description
31:16 RW PAUSE TIME: Pause time in pause frame
The time unit is 1 slot time.
15:9 RW FC HIGH/FC LOW
RX FIFO free space high threshold:
A pause frame is sent with pause time = 0 when RX FIFO free space is larger than the
high threshold.
The unit is 256 bytes, and the default value is 7’h5.
The value software programs in this field should be less than RX FIFO size.
8 RW FC HTHR SEL: RX FIFO free space high threshold select
0: RX FIFO free space low threshold is selected, and the MAC68 [15:9] will show this
value.
1: RX FIFO free space high threshold is selected, and the MAC68 [15:9] will show this
value.
7 RW FC THR WREN: RX FIFO free space threshold write enable
When set and FC HTHR SEL = 0, write vlaue of the MAC68 [15:9] will be saved to RX
FIFO free space low threshold.
When set and FC HTHR SEL = 1, write vlaue of the MAC68 [15:9] will be saved to RX
FIFO free space high threshold.
6 :5 RO Reserved (0)
4 RW RX PAUSE: Receive pause frame (Writing ”1” to clear)
3 RO TXPAUSED
Packet transmission paused due to receive pause frame
2 RW FCTHR EN: Enable flow control threshold mode
This bit enables transmit pause frame for high/low threshold.
1 RW TX PAUSE: Transmit pause frame
Software can set this bit to send pause frames.
This bit is auto-cleared after the pause frame has been transmitted.
0 RW FC EN: Flow control mode enable
Offset: 6Ch MAC6C: Back Pressure Register (BPR) Init = 0000 0200h
Bit R/W Description
31:15 RO Reserved (0)
14:8 RW BK LOW: RX FIFO free space low threshold
MAC generates a jam pattern if RX FIFO free space is lower than the low threshold when
packets are incoming.
Offset: 78h MAC78: MAC Most Significant Address Register #1 (MAC MADR1) Init = 0
Offset: 80h MAC80: MAC Most Significant Address Register #2 (MAC MADR2) Init = 0
Offset: 88h MAC88: MAC Most Significant Address Register #3 (MAC MADR3) Init = 0
Bit Attr. Description
31 RW Enable MAC address #1 ∼ #3 control bit
0: Disable MAC address #1 ∼ #3
1: Enable MAC address #1 ∼ #3
30:16 RO Reserved (0)
15:0 RW MAC MADR1 ∼ MAC MADR3
The most significant 2 bytes of MAC address #1 ∼ #3
Offset: 7Ch MAC7C: MAC Least Significant Address Register #1 (MAC LADR1) Init = 0
Offset: 84h MAC84: MAC Least Significant Address Register #2 (MAC LADR2) Init = 0
Offset: 8Ch MAC8C: MAC Least Significant Address Register #3 (MAC LADR3) Init = 0
Bit Attr. Description
31:0 RW MAC LADR1 ∼ MAC LADR3
The least significant 4 bytes of MAC address #1 ∼ #3
Offset: 90h MAC90: Debug Normal Priority Tx-Ring Pointer Register DBG NTXR PTR) Init = 0
Bit R/W Description
31:0 RO NPTXR PTR: Normal Priority Transmit Ring Pointer Register (for debugging
purpose only)
Offset: 94h MAC94: Debug Rx-Ring Pointer Register (DBG RXR PTR) Init = 0
Bit R/W Description
31:0 RO RXR PTR: Receive Ring Pointer Register (for debugging purpose only)
Offset: 9Ch MAC9C: Debug High Priority Tx-Ring Pointer Register (DBG HTXR PTR) Init = 0
Bit R/W Description
31:0 RO HPTXR PTR: High Priority Transmit Ring Pointer Register (for debugging purpose
only)
Offset: D0h MACD0: MAC Most Significant Address Register #4 (MAC MADR4) Init = 0
Offset: D8h MACD8: MAC Most Significant Address Register #5 (MAC MADR5) Init = 0
Offset: E0h MACE0: MAC Most Significant Address Register #6 (MAC MADR6) Init = 0
Offset: E8h MACE8: MAC Most Significant Address Register #7 (MAC MADR7) Init = 0
Bit Attr. Description
31 RW Enable MAC address #4 ∼ #7 control bit
0: Disable MAC address #4 ∼ #7
1: Enable MAC address #4 ∼ #7
30:16 RO Reserved (0)
15:0 RW MAC MADR4 ∼ MAC MADR7
The most significant 2 bytes of MAC address #4 ∼ #7
Offset: D4h MACD4: MAC Least Significant Address Register #4 (MAC LADR4) Init = 0
Offset: DCh MACDC: MAC Least Significant Address Register #5 (MAC LADR5) Init = 0
Offset: E4h MACE4: MAC Least Significant Address Register #6 (MAC LADR6) Init = 0
Offset: ECh MACEC: MAC Least Significant Address Register #7 (MAC LADR7) Init = 0
Bit Attr. Description
31:0 RW MAC LADR4 ∼ MAC LADR7
The least significant 4 bytes of MAC address #4 ∼ #7
Offset: F8h MACF8: Protocol Filter Byte Register #0 (FL PROL0) Init = X
Bit R/W Description
31:24 RW The protocol filter set #3 byte data
23:16 RW The protocol filter set #2 byte data
15:8 RW The protocol filter set #1 byte data
7 :0 RW The protocol filter set #0 byte data
Note :
When the protocol field of the received frame match this register, the frame will be dropped.
Offset: FCh MACFC: Protocol Filter Byte Register #1 (FL PROL1) Init = X
Bit R/W Description
31:24 RW The protocol filter set #7 byte data
23:16 RW The protocol filter set #6 byte data
15:8 RW The protocol filter set #5 byte data
7 :0 RW The protocol filter set #4 byte data
Note :
When the protocol field of the received frame match this register, the frame will be dropped.
Offset: 100h MAC100: Source & Destination Port Filter Word Register #0 (FL SDPORTW0) Init = X
Offset: 104h MAC104: Source & Destination Port Filter Word Register #1 (FL SDPORTW1) Init = X
Offset: 108h MAC108: Source & Destination Port Filter Word Register #2 (FL SDPORTW2) Init = X
Offset: 10Ch MAC10C: Source & Destination Port Filter Word Register #3 (FL SDPORTW3) Init = X
Offset: 110h MAC110: Source & Destination Port Filter Word Register #4 (FL SDPORTW4) Init = X
Offset: 114h MAC114: Source & Destination Port Filter Word Register #5 (FL SDPORTW5) Init = X
Offset: 118h MAC118: Source & Destination Port Filter Word Register #6 (FL SDPORTW6) Init = X
Offset: 11Ch MAC11C: Source & Destination Port Filter Word Register #7 (FL SDPORTW7) Init = X
Bit Attr. Description
31:16 RW The source port filter set #0 ∼ #7 word data
to next page
Offset: 120h MAC120: Source Address Filter Most Significant Address Register #0 (FL SAM0) Init = X
Offset: 128h MAC128: Source Address Filter Most Significant Address Register #1 (FL SAM1) Init = X
Offset: 130h MAC130: Source Address Filter Most Significant Address Register #2 (FL SAM2) Init = X
Offset: 138h MAC138: Source Address Filter Most Significant Address Register #3 (FL SAM3) Init = X
Bit Attr. Description
31:16 RO Reserved (0)
15:0 RW FL SAM0 ∼ FL SAM3
The most significant 2 bytes of source address filter set #0 ∼ #3
Note :
When the MACF0 [27:24] != 0, the MAC will only receive those frames which the source address field match this
register.
Offset: 124h MAC124: Source Address Filter Least Significant Address Register #0 (FL SAL0) Init = X
Offset: 12Ch MAC12C: Source Address Filter Least Significant Address Register #1 (FL SAL1) Init = X
Offset: 134h MAC134: Source Address Filter Least Significant Address Register #2 (FL SAL2) Init = X
Offset: 13Ch MAC13C: Source Address Filter Least Significant Address Register #3 (FL SAL3) Init = X
Bit Attr. Description
31:0 RW FL SAL0 ∼ FL SAL3
The least significant 4 bytes of source address filter set #0 ∼ #3
Note :
When the MACF0 [27:24] != 0, the MAC will only receive those frames which the source address field match this
register.
Offset: 140h MAC140: Type Filter Word Register #0 (FL TYPE0) Init = X
Bit R/W Description
31:16 RW The type filter set #1 word data
15:0 RW The type filter set #0 word data
Note :
When the type field of the received frame match this register, the frame will be dropped.
Offset: 144h MAC144: Type Filter Word Register #1 (FL TYPE1) Init = X
Bit R/W Description
31:16 RW The type filter set #3 word data
15:0 RW The type filter set #2 word data
Note :
When the type field of the received frame match this register, the frame will be dropped.
Offset: 148h MAC148: Type Filter Word Register #2 (FL TYPE2) Init = X
Bit R/W Description
31:16 RW The type filter set #5 word data
15:0 RW The type filter set #4 word data
Note :
When the type field of the received frame match this register, the frame will be dropped.
Offset: 14Ch MAC14C: Type Filter Word Register #3 (FL TYPE3) Init = X
Bit R/W Description
31:16 RW The type filter set #7 word data
15:0 RW The type filter set #6 word data
Note :
When the type field of the received frame match this register, the frame will be dropped.
Each transmit descriptor contains a transmit buffer. A transmit buffer consists of either an entire frame or part
of a frame, but not multiple frames. The transmit descriptor contains transmit buffer status and the transmit
buffer can only contain the transmit data. MAC engine supports two descriptor rings for transmission. These
descriptor rings are normal priority transmit ring and high priority transmit ring. The normal priority transmit
ring is for normal packet transmission; the high priority transmit ring is for high priority packet transmission.
Higher priority packets can be put into the high priority transmit ring for quicker transmission.
MAC engine clears this bit when it completes the frame transmission.
30 RW EDOTR: End Descriptor of Transmit Ring
When set, it indicates that the descriptor is the last descriptor of the transmit ring.
29 RW FTS: First Transmit Segment descriptor
When set, it indicates that this is the first descriptor of a TX packet.
28 RW LTS: Last Transmit Segment descriptor.
When set, it indicates that this is the last descriptor of a TX packet.
27:20 RW Reserved (0)
19 RW CRC ERR: CRC error
When CRC ERR=1 and DISCARD CRCERR (MAC50 [18] = 1),
TXDMA would discard the transmit packet, not send it to Ethernet.
18:14 RW Reserved (0)
to next page
Note :
Bits 27 ∼ 14 are valid only when the FTS = 1.
Offset: 04h TXDES#1: VLAN Control Bits and VLAN Tag Control Information. Init = X
Bit R/W Description
31 RW TXIC: Transmit Interrupt on Completion
When set, the MAC engine would assert transmit interrupt after the present frame has
been transmitted.
When clear, the packet content would not be changed when transmitting to network.
15:0 RW VLAN TAGC: VLAN Tag Control Information
The 2-byte VLAN Tag Control Information contains information, from the upper layer, of
user priority, canonical format indicator, and VLAN ID. Please refer to IEEE 802.1Q for
more VLAN tag information.
Bits Function
15 - 13 User priority
12 CFI (Canonical Format Indicator)
11 - 0 VID (VLAN Identifier)
Note :
Bits 31 ∼ 0 are valid only when the FTS = 1.
There is a descriptor ring for reception. The base address of the receive ring is in the Receive Ring Base
Address Register (MAC24). Each receive descriptor contains a receive buffer. A receive buffer consists of
either an entire frame or part of a frame, but not multiple frames. The receive descriptor contains receive buffer
status and the receive buffer can only contain the receive packet data.
MAC engine supports the receive buffer base address as 1 byte aligned for the zero-copy feature.
Offset: 00h RXDES#0: Frame Status and Descriptor Ownership Information. Init = X
Bit R/W Description
31 RW RXPKT RDY: RX packet ready
0: The descriptor is owned by the MAC engine.
1: The software owns the descriptor.
MAC engine set this bit when it completes the frame reception or when the receive buffer
of the receive descriptor is full.
30 RW EDORR: End Descriptor of Receive Ring
When set, it indicates that the descriptor is the last descriptor of the receive ring.
29 RO FRS: First Receive Segment descriptor
When set, it indicates that this is the first descriptor of a received packet.
28 RO LRS: Last Receive Segment descriptor.
When set, it indicates that this is the last descriptor of a received packet.
to next page
If JUMBO LF=1 and for MAC #1∼#2, the long frame length is 9596 (9600 for the VLAN
tag packet) bytes.
If JUMBO LF=1 and for MAC #3∼#4, the long frame length is 2044 (2048 for the VLAN
tag packet) bytes.
If JUMBO LF=0, the long frame length is 1518 (1522 for the VLAN tag packet) bytes.
19 RO CRC ERR: CRC error
When set, it indicates that the CRC error occurs on the received packet.
18 RO RX ERR: Receive error
When set, it indicates that receive error happens when receiving a packet.
17 RO BROADCAST: Broadcast frame.
When set, it indicates that the received packet is a broadcast frame.
16 RO MULTICAST: Multicast frame.
When set, it indicates that the received packet is a multicast frame.
15 RO UDP OPT CHKSUM: UDP Optional Checksum
It indicates that the UDP header with optional checksum.
14 RO Reserved (0)
13:0 RO VDBC: valid data byte count.
The field indicates the valid data in the receive buffer.
The unit is 1 byte.
to next page
Offset: 04h RXDES#1: VLAN Status Bits and VLAN Tag Control Information. Init = X
Bit R/W Description
31:28 RO Reserved (0)
27 RO IPCS FAIL: IP checksum failure
When set, MAC engine detects IP checksum failure.
26 RO UDPCS FAIL: UDP checksum failure
When set, MAC engine detects UDP checksum failure.
25 RO TCPCS FAIL: TCP checksum failure
When set, MAC engine detects TCP checksum failure.
24 RO VLAN AVA: VLAN Tag Available
When set, the receive packet is a packet with IEEE 802.1Q VLAN Tag Type.
23 RO DF: Datagram Fragment
When set, the IP packet is not fragment.
When clear, the IP packet may fragment.
The 2-byte VLAN Tag Control Information contains information, from the upper layer, of
user priority, canonical format indicator, and VLAN ID. Please refer to IEEE 802.1Q for
more VLAN tag information.
Bits Function
15 - 13 User priority
12 CFI (Canonical Format Indicator)
11 - 0 VID (VLAN Identifier)
Note :
Bits 31 ∼ 0 are valid only when the FRS = 1.
”O” : MAC Controller receives a frame whose destination address exactly matches the register/address listed
in the column.
”X” : MAC Controller does not compare destination address with the register/address listed in the column.
16.5 Initialization
16.5.1 Frame Transmitting Procedure
The frame transmitting procedure is as follows:
Initialization:
1. Set GMAC MODE (MAC50 [9]) and SPEED 100 (MAC50 [19]) to proper setting.
2. Set SW RST (MAC50 [31]) = 1 to do the software reset.
3. Delay at least 10 us and then set SW RST (MAC50 [31]) = 1 to do the software reset again. It takes about
256 MHCLK clocks for hardware to finish the software reset. When the hardware finished the software
reset, the SW RST (MAC50 [31]) will be cleared to 0.
4. Allocate the local memory for the transmit descriptor ring and transmit buffer.
5. Initialize the transmit descriptor ring.
6. Set the Normal Priority Transmit Ring Base Address Register (MAC20) to the base address of the normal
priority transmit descriptor ring in the local memory.
7. Set the High Priority Transmit Ring Base Address Register (MAC2C) to the base address of the high
priority transmit descriptor ring in the local memory if necessary.
8. Set Interrupt Enable Register (MAC04).
9. Set MAC Address Register (MAC08).
10. Set Multicast Address Hash Table Register (MAC10).
11. Set Interrupt Timer Control Register (MAC30) to select the manner of the transmit interrupt.
12. Set Automatic Polling Timer Control Register (MAC34) to select the manner of transmit poll.
13. Set Transmit Priority Arbitration and FIFO Control Register (MAC48) to set transmit priority arbitration.
14. Set DMA Burst Length and Arbitration Control Register (MAC38) to set proper TX/RX descriptor size and
DMA burst length.
15. Set MAC Control Register (MAC50) to set valid configuration for MAC engine and to enable transmit
channel.
Transmit procedure:
1. Software checks if the remainder of the normal priority transmit descriptors is enough for the next packet
transmission. If not, software needs to wait until the transmit descriptors are enough.
2. Prepare the transmit packet data to the transmit buffer.
3. Set the normal priority transmit descriptor.
4. Write the Normal Priority Transmit Poll Demand Register (MAC18) to trigger MAC engine to poll the
transmit descriptor if necessary when the packet is put in the normal priority transmit ring.
5. Wait for interrupt.
6. When interrupt occurs, software checks if it is a transmit interrupt. If MAC00 [4] = 1, it means the packet
has been transmitted to network successfully. If MAC00 [7] = 1, it means the packet has been aborted
during transmission due to late collision or excessive collision .
7. Steps 1 through 6 are for normal packets in the normal priority transmit ring. If software wants to transmit
high priority packets, repeat these steps for the high priority transmit ring.
Note:
Initialization:
1. Set GMAC MODE (MAC50 [9]) and SPEED 100 (MAC50 [19]) to proper setting.
2. Set SW RST (MAC50 [31]) = 1 to do the software reset.
3. Delay at least 10 us and then set SW RST (MAC50 [31]) = 1 to do the software reset again. It takes about
256 MHCLK clocks for hardware to finish the software reset. When the hardware finished the software
reset, the SW RST (MAC50 [31]) will be cleared to 0.
4. Allocate the local memory for the receive descriptor ring and receive buffer.
5. Initialize the receive descriptor ring.
6. Set Receive Ring Base Address Register (MAC24) to the base address of the receive descriptor ring in
the local memory.
7. Set Interrupt Enable Register (MAC04).
8. Set MAC Address Register (MAC08).
9. Set Multicast Address Hash Table Register (MAC10).
10. Set Interrupt Timer Control Register (MAC30) to select the manner of the receive interrupt.
11. Set Automatic Polling Timer Control Register (MAC34) to select the manner of receive poll.
12. Set Transmit Priority Arbitration and FIFO Control Register (MAC48) to set transmit priority arbitration.
13. Set DMA Burst Length and Arbitration Control Register (MAC38) to set proper TX/RX descriptor size and
DMA burst length.
14. Set MAC Control Register (MAC50) to set valid configuration for MAC engine and to enable receive
channel.
15. Write Receive Poll Demand Register (MAC1C) to trigger MAC engine to poll the receive descriptor.
Receive procedures:
Offset: 04h PMI04: MDC/MDIO #0 Read Data Register Init = c001 0000h
Offset: 0Ch PMI0C: MDC/MDIO #1 Read Data Register Init = c001 0000h
Offset: 14h PMI14: MDC/MDIO #2 Read Data Register Init = c001 0000h
Offset: 1Ch PMI1C: MDC/MDIO #3 Read Data Register Init = c001 0000h
Bit Attr. Description
31:24 RW MDC cycle threshold [7:0]
This field defines the period of MDC #0∼#3 time.
The period of MDC #0 time is (PMI04 [31:24] + 1) * 2 * (HCLK clock period).
The period of MDC #1 time is (PMI0c [31:24] + 1) * 2 * (HCLK clock period).
The period of MDC #2 time is (PMI14 [31:24] + 1) * 2 * (HCLK clock period).
The period of MDC #3 time is (PMI1c [31:24] + 1) * 2 * (HCLK clock period).
23 RW MDIO latch edge control (for debugging purpose only)
0: Latch MDIO signal at the rising edge of the MDC
1: Latch MDIO signal at the falling edge of the MDC
22:20 RW MDIO latch timing control (for debugging purpose only)
0: Normal timing, 1: Delay 1 MDC cycle, 2: Delay 2 MDC cycle, 3: Delay 3 MDC cycle
4: 4 MDC cycle early, 5: 3 MDC cycle early, 6: 2 MDC cycle early, 7: 1 MDC cycle early
19:17 RO Reserved (0)
16 RO IDLE
0: The operation sequence to PHY is busy
1: The controller is IDLE, and the read data from PHY is ready
15:0 RO MIIRDATA: Read data from PHY
18.2 Features
• Complies with the Universal Serial Bus specification Rev. 2.0, Supports USB Full Speed (12Mb/sec) and
High Speed (480 Mb/sec), backward compatible with USB1.1.
• USB Hub architecture, supports 1 hub device port and 7 downstream device ports.
• Supports 21 programmable endpoints that can be assigned to any devices, and can be configured to
Bulk IN/OUT, Interrupt IN/OUT and Isochronous IN/OUT type endpoint.
• For Hub device, supports :
1. 1 default Control endpoint.
2. 1 dedicated hub status Interrupt IN endpoint.
8. Load driver
Offset: 00 HUB00: Root Function Control & Status Register Init = 0x80000000
Bit R/W Description
31 RO Reserved (1)
30:20 RO Reserved (0)
19 RW Enable FIFO dynamic power down
0: disable
1: enable
18 RW Programmable endpoint long descriptor list mode
0: 32 stages descriptor
1: 256 stages descriptor
This bit will affect the full endpoint pool.
17 RW Isochronous IN null data response control
0: No response, wait host timeout
1: Return 0 byte DATA0 packet
This bit controls the response action for Isochronous IN type endpoints when the IN data
for transmitting not ready.
The action can be no response or return an 0 byte DATA0 packet.
When no response action is selected, then CSPLIT IN retry is possible.
16 RW Complete a ”SPLIT IN Transaction” after SOF has been received
0: Disable
1: Enable
Because ”Complete a SPLIT IN Transaction” has no ACK, its very difficult to define the
end of the transaction. Set this bit to ’1’ will add SOF packet into the transaction finish
check list.
This bit must be set to 1 at Set Address transfer cycle if keep the old address update
methodology.
15:14 RO Reserved (0)
13 RO USB PHY BIST result
0: Fail
1: Pass
This flag will be cleared by disabling USB PHY BIST function (HUB00 [12] = 0).
Note: BIST stands for Built-In-Self-Test
12 RW USB PHY BIST control
0: Turn off USB PHY BIST
1: Turn on USB PHY BIST
11 RW Disable USB PHY reset
0: Enable USB PHY reset
1: Disable USB PHY reset
10:8 RW USB Test Mode selection
000: Disable
001: Enable Test J
010: Enable Test K
011: Enable Test SE0 NAK
100: Enable Test Packet
101: Reserved
110: Reserved
111: Reserved Enable Test Loop Back (for debugging purpose only)
7 RW Force USB bus state timer to work at test mode (for debugging purpose only)
0: Normal operation mode
1: Force USB bus state to High Speed mode (X32 faster)
to next page
USB Controller totally integrates 2K byes of SRAM to be allocated for data transmit of IN
transaction. The 2K bytes of SRAM is uniformly divided into 8 pages, each of them is 256
bytes long. Each EP can only allocate one page buffer from them, but there are 2 pages
(Page 0 and Page 1) are arranged as a ring buffer and dedicated for the usage of the
active EP. Therefore, the status bits of the two pages are reserved.
15:7 RO Reserved
6:0 RW Root function device address
Change the address whenever Set Address command was received. The following is the
Set Address command sequence:
1. SETUP data packet, contains the new address information.
2. Change to the new address.
3. IN data packet, status phase with zero byte data returned.
The enable control for Endpoint Pool is the first level interrupt enable bit for all the EPs allocated from End-
point Pool.
The enable control for Device is the first level interrupt enable bit for all the downstream device controller.
Offset: 10 HUB10: Programmable Endpoint Pool ACK Interrupt Enable Register Init = 0
Bit R/W Description
31:21 RO Reserved (0)
to next page
This register is to control the ACK interrupt enable bits of the 21 programmable Endpoints
in the Endpoint Pool. The definition of each bit in this register is as the following:
0: Disable interrupt
1: Enable interrupt
Offset: 14 HUB14: Programmable Endpoint Pool NAK Interrupt Enable Register Init = 0
Bit R/W Description
31:21 RO Reserved (0)
20:0 RW Programmable Endpoint NAK Interrupt Enable
bit 0: Programmable Endpoint number #0
bit 1: Programmable Endpoint number #1
....
bit20: Programmable Endpoint number #20
This register is to control the ACK interrupt enable bits of the 21 programmable Endpoints
in the Endpoint Pool. The definition of each bit in this register is as the following:
0: Disable interrupt
1: Enable interrupt
Offset: 18 HUB18: Programmable Endpoint Pool ACK Interrupt Status Register Init = 0
Bit R/W Description
31:21 RO Reserved (0)
20:0 RW Programmable Endpoint ACK Interrupt Occurs
bit 0: Programmable Endpoint number #0
bit 1: Programmable Endpoint number #1
....
bit20: Programmable Endpoint number #20
This status flag will be set to ’1’ under any one of the following conditions:
1. STALL response.
2. When short packet received from OUT transaction.
3. When Interrupt Generation Enable been detected from the DMA descriptor, or for a
single descriptor mode.
4. When the DMA descriptor list becomes empty, this indicates that the last descriptor
been used.
Note :
Each status is automatically set to ”1” whenever the ACK event has been occurred, no matter the corresponding
interrupt enable bit has been enabled or not.
S/W must clear each status by writing ’1’ to its bit after finished the process; otherwise the next ACK event will not
be recognized.
Offset: 1C HUB1C: Programmable Endpoint Pool NAK Interrupt Status Register Init = 0
Bit R/W Description
31:20 RO Reserved (0)
20:0 RW Programmable Endpoint NAK Interrupt Occurs
bit 0: Programmable Endpoint number #0
bit 1: Programmable Endpoint number #1
....
bit20: Programmable Endpoint number #20
This status flag will be set to ’1’ when the endpoint response with NAK.
Note :
Each status is automatically set to ”1” whenever the NAK event has been occurred, no matter the corresponding
interrupt enable bit has been enabled or not.
S/W must clear each status by writing ’1’ to its bit after finished the process; otherwise the next NAK event will not
be recognized.
Offset: 20 HUB20: Device Controller Soft Reset Enable Register Init = 0x3FF
Bit R/W Description
31:10 RO Reserved (0)
9 RW Enable Programmable Endpoint Pool software Reset
8 RW Enable DMA Controller software Reset
7 RW Enable Device #7 Controller software Reset
6 RW Enable Device #6 Controller software Reset
5 RW Enable Device #5 Controller software Reset
4 RW Enable Device #4 Controller software Reset
3 RW Enable Device #3 Controller software Reset
2 RW Enable Device #2 Controller software Reset
1 RW Enable Device #1 Controller software Reset
0 RW Enable Root HUB Controller software Reset
Note :
0 : Normal operation
1 : Reset the device controller
These software reset bits only reset the controllers status registers, not including all the registers supported by the
controller. To reset all the registers of the controllers, please reference the registers of SCU040.
Software sets the specific bit to ’1’ to start the reset process, and sets the specific bit to ’0’ to stop the reset process.
There is no need to put time delay between the two processes.
Offset: 24 HUB24: USB Status Register (for debugging purpose only) Init = X
Bit R/W Description
31 RO USB Suspend State
30 RO USB Bus Reset State
29 RO USB Bus Line State DN
28 RO USB Bus Line State DP
27 RO USB Bus Speed
0: Full Speed
1: High Speed
SW reads this bit to determine the current host connection speed. But SW must read this
bit after the first packet is received that behind the bus reset cycle.
26:16 RO USB Last Frame Number record
to next page
Offset: 28 HUB28: Programmable Endpoint Pool Data Toggle Value Set Init = X
Bit R/W Description
31:9 RO Reserved (0)
8 WO Endpoint data toggle bit initial value set
0: Initial to sequence DATA0
1: Initial to sequence DATA1
The indexed data toggle bit is determined by Bit [4:0] of this register. Only one data toggle
bit can be initialized for each register write. Reading this register always returns ”0”.
7:5 RO Reserved (0)
4:0 WO Programmable Endpoint Index
0-20: Endpoint number index
21-31: Invalid
This index value determines which Endpoint data toggle bit will be initialized. Reading this
register always returns ”0”.
Note :
Data toggle sequence initialization can only be applied to Control/Bulk/Interrupt type Endpoints.
Isochronous type Endpoints should not be initialized; it will be reset automatically when SOF receives.
Offset: 34 HUB34: Base Address of Endpoint 0 IN/OUT Data Buffer Register Init = X
Bit R/W Description
31 RO Reserved (0)
30:0 RW Base address of Endpoint 0 IN/OUT data buffer
This register defines the base address of Default Control Endpoint transaction data buffer,
which is 64 bytes long and at 64-bit boundary.
The direction of this buffer is determined by S/W and depends on the Control Transfer
Command mode.
Offset: 0C DEV0C: Base Address of Endpoint 0 IN/OUT Data Buffer Register Init = X
Bit R/W Description
31 RO Reserved (0)
30:0 RW Base address of data buffer
This register defines the base address of Default Control Endpoint transaction data buffer,
which is 64 bytes long and at 64-bit boundary.
The direction of this buffer is determined by S/W and depends on the Control Transfer
Command mode.
• For OUT direction endpoint, this definition limits the maximum packet size can be
received. If extra bytes received, it will not be transfered to DRAM and return with
NAK response to retry this transaction.
• For IN direction endpoint, it must be used in companion with EPP04[3]. It defines
the maximum bytes to be returned within 1 packet. This enables a possibility to
pack several packets into a descriptor stage. The total size that can be packed in a
descriptor stage equals to 4096 bytes or 8 sub-packets, depends on which criteria
meet first.
When SOF received, the data PID sequencing will be reset to the start data PID.
For long packet (transmit byte count > maximum packet size) or high bandwidth
Isochronous IN, please enable the auto data toggle mode, EPP00[13] = 0.
1. System global reset controlled in SCU, this will reset full controller including registers.
2. Release the endpoint, disable endpoint.
3. Set the reset bit at HUB20 Bit[9] or HUB20 Bit[n], where n is device number set in the Port Number field.
Only the first item will reset the register value, others don’t.
1. When read, this value indicates the current internal register state used for next trans-
action Data sequence PID.
2. When write, used to setting the next transaction Data sequence PID. Only valid at
Single descriptor mode, endpoint type ”IN” and auto data toggle disabled.
27 RO Reserved (0)
26:16 RW Packet Size (Default=X)
The unit is byte.
This field has 4 definitions:
Endpoint Type
Descriptor Type IN OUT
Single TxDataByteCnt(1) RxDataByteCnt(3)
List TxDataByteCnt(2) MaxPacketSize(4)
(1) When endpoint type = IN and single mode enabled :
Transmit data packet length
This is the transmit data packet length for IN transfer.
Setting by SW.
(2) When endpoint type = IN and descriptor list mode :
Transmit data packet length
This is the transmit data packet length for IN transfer.
Fetched from descriptor list entry.
(3) When endpoint type = OUT and single mode enabled :
Received data packet length
This is the received data packet length of OUT transfer.
Setting by RXDMA controller.
(4) When endpoint type = OUT and descriptor list mode :
Endpoint Maximum Packet Size
This is used for OUT transaction short packet interrupt trigger.
When the OUT data length received less than the Maximum Packet Size,
then the OUT ACK interrupt flag will raise.
Setting by SW.
SW can write this value when descriptor is under disabled state, including single descrip-
tor mode.
to next page
For receive (OUT) direction, this pointer indicates the receiver free buffer allocated to DMA.
When descriptor operation is enabled, this value indicates the next descriptor write position
that will be writing by CPU. And the DMA operation will increment until read pointer equals
to write pointer that indicates the Empty condition.
The descriptor stage that Write Pointer addressed is not valid, and DMA will not process
it.
The descriptor list usage cannot be fully, there needs 1 free space for differentiation full
and empty cases. That is when WPTR = RPTR, it means empty status. And full status
equals WPTR = RPTR-1. The SW can maximum fills the descriptor entry until the full
condition; otherwise it will conflict with the empty condition.
Note :
The descriptor operation is that the Write Pointer is the leading pointer, and Read Pointer will track at the tail of Write
Pointer.
Read and Write pointer will be reset to 0 when device reset (HUB20) or USB bus reset occurs.
Global Reset
This is an asynchronous reset control and will reset full controller to its initial state, including all registers.
This reset can be initiated from SCU040[14] reset control register.
Device Reset
HUB20 contains reset control for each device. The reset control only reset the device state into its initial
state; register value will not be cleared. The states that will be reset including all state machines, FIFO
pointers and descriptor pointers. For all unused downstream device ports, the device reset must be enabled.
The following is a sequence for controlling device reset:
• Attach a device.
1. Disable the specific device port reset.
2. Enable device port and do the initialization sequence.
• Remove a device.
1. Disable device port function.
2. Enable the specific device port reset.
Hub Disconnection
Device Enable
1. Disable device and endpoint pool reset by setting the specific bit in HUB20 to ’0’
2. Enable device and endpoint pool interrupt by setting the specific bit in HUB08 to ’1’
3. Assign endpoint to device
4. Write DEV04 = 0xffffffff
5. Write DEV00 = 0x01 + (interrupt necessarily)
6. Set the specific port status change bit in HUB3C
Endpoint Enable
1. Enable endpoint interrupt by setting the specific bit in HUB10 and HUB14 to ’1’
2. Enable endpoint, assign the device port, set the endpoint type and endpoint number
3. Create endpoint’s DMA, single buffer mode or descriptor list mode
• When received Set Address command, Modify the controller device address field with the new ad-
dress.
• Prepare a zero length data packet for the status phase IN transaction.
• Wait and clear the IN transaction ACK interrupt.
• When received Set Address command, Modify the controller device address field with the new ad-
dress.
• Prepare a zero length data packet for the status phase IN transaction.
• Wait and clear the IN transaction ACK interrupt.
19.2 Features
• Complies with the Universal Serial Bus specification Rev. 2.0, Supports USB Full Speed (12Mb/sec) and
High Speed (480 Mb/sec), backward compatible with USB1.1.
• Supports 1 Control endpoint.
• Supports 4 programmable endpoints that can be assigned to any devices, and can be configured to Bulk
IN/OUT, Interrupt IN/OUT and Isochronous IN/OUT type endpoint.
• Automatic retry of failed packets, and PING Flow control.
• Separate data buffers for the SETUP data of a CONTROL transfer
• Integrated DMA engine for direct memory bus accesses (bypass AHB bus).
• Supports independent DMA channel for each endpoint.
• Supports 256 stages descriptor mode for all 4 programmable endpoints.
• Supports USB remote wake-up function (Suspend/Resume operation).
• All registers are backward compatible to USB2.0 UBD controller.
USB Controller totally integrates 1K byes of SRAM to be allocated for data transmit of IN
transaction. The 1K bytes of SRAM is uniformly divided into 4 pages, each of them is 256
bytes long. Each EP can only allocate one page buffer from them, but there are 2 pages
(Page 0 and Page 1) are arranged as a ring buffer and dedicated for the usage of the
active EP. Therefore, the status bits of the two pages are reserved.
15:7 RO Reserved
6:0 RW Root function device address
Change the address whenever Set Address command was received. The following is the
Set Address command sequence:
1. SETUP data packet, contains the new address information.
2. Change to the new address.
3. IN data packet, status phase with zero byte data returned.
The enable control for Endpoint Pool is the first level interrupt enable bit for all the EPs allocated from End-
point Pool.
The enable control for Device is the first level interrupt enable bit for all the downstream device controller.
Offset: 10 UBD10: Programmable Endpoint Pool ACK Interrupt Enable Register Init = 0
Bit R/W Description
31:4 RO Reserved (0)
3:0 RW Programmable Endpoint ACK Interrupt Enable
bit 0: Programmable Endpoint number #0
bit 1: Programmable Endpoint number #1
bit 2: Programmable Endpoint number #2
bit 3: Programmable Endpoint number #3
This register is to control the ACK interrupt enable bits of the 4 programmable Endpoints
in the Endpoint Pool. The definition of each bit in this register is as the following:
0: Disable interrupt
1: Enable interrupt
Offset: 14 UBD14: Programmable Endpoint Pool NAK Interrupt Enable Register Init = 0
Bit R/W Description
31:4 RO Reserved (0)
3:0 RW Programmable Endpoint NAK Interrupt Enable
bit 0: Programmable Endpoint number #0
bit 1: Programmable Endpoint number #1
bit 2: Programmable Endpoint number #2
bit 3: Programmable Endpoint number #3
This register is to control the ACK interrupt enable bits of the 4 programmable Endpoints
in the Endpoint Pool. The definition of each bit in this register is as the following:
0: Disable interrupt
1: Enable interrupt
Offset: 18 UBD18: Programmable Endpoint Pool ACK Interrupt Status Register Init = 0
Bit R/W Description
31:4 RO Reserved (0)
3:0 RW Programmable Endpoint ACK Interrupt Occurs
bit 0: Programmable Endpoint number #0
bit 1: Programmable Endpoint number #1
bit 2: Programmable Endpoint number #2
bit 3: Programmable Endpoint number #3
This status flag will be set to ’1’ under any one of the following conditions:
1. STALL response.
2. When short packet received from OUT transaction.
3. When Interrupt Generation Enable been detected from the DMA descriptor, or for a
single descriptor mode.
4. When the DMA descriptor list becomes empty, this indicates that the last descriptor
been used.
Note :
Each status is automatically set to ”1” whenever the ACK event has been occurred, no matter the corresponding
interrupt enable bit has been enabled or not.
S/W must clear each status by writing ’1’ to its bit after finished the process; otherwise the next ACK event will not
be recognized.
Offset: 1C UBD1C: Programmable Endpoint Pool NAK Interrupt Status Register Init = 0
Bit R/W Description
31:4 RO Reserved (0)
3:0 RW Programmable Endpoint NAK Interrupt Occurs
bit 0: Programmable Endpoint number #0
bit 1: Programmable Endpoint number #1
bit 2: Programmable Endpoint number #2
bit 3: Programmable Endpoint number #3
This status flag will be set to ’1’ when the endpoint response with NAK.
Note :
Each status is automatically set to ”1” whenever the NAK event has been occurred, no matter the corresponding
interrupt enable bit has been enabled or not.
S/W must clear each status by writing ’1’ to its bit after finished the process; otherwise the next NAK event will not
be recognized.
Offset: 20 UBD20: Device Controller Soft Reset Enable Register Init = 0x301
Bit R/W Description
31:10 RO Reserved (0)
9 RW Enable Programmable Endpoint Pool software Reset
8 RW Enable DMA Controller software Reset
7:1 RO Reserved (0)
0 RW Enable Root UBD Controller software Reset
Note :
0 : Normal operation
1 : Reset the device controller
These software reset bits only reset the controllers status registers, not including all the registers supported by the
controller. To reset all the registers of the controllers, please reference the registers of SCU04.
Software sets the specific bit to ’1’ to start the reset process, and sets the specific bit to ’0’ to stop the reset process.
There is no need to put time delay between the two processes.
Offset: 24 UBD24: USB Status Register (for debugging purpose only) Init = X
Bit R/W Description
31 RO USB Suspend State
30 RO USB Bus Reset State
29 RO USB Bus Line State DN
28 RO USB Bus Line State DP
27 RO USB Bus Speed
0: Full Speed
1: High Speed
SW reads this bit to determine the current host connection speed. But SW must read this
bit after the first packet is received that behind the bus reset cycle.
26:16 RO USB Last Frame Number record
15 RO UTMI State XcvrSelect
0: High Speed
1: Full Speed
14 RO UTMI State TermSelect
0: High Speed
1: Full Speed
to next page
Offset: 28 UBD28: Programmable Endpoint Pool Data Toggle Value Set Init = X
Bit R/W Description
31:9 RO Reserved (0)
8 WO Endpoint data toggle bit initial value set
0: Initial to sequence DATA0
1: Initial to sequence DATA1
The indexed data toggle bit is determined by Bit [1:0] of this register. Only one data toggle
bit can be initialized for each register write. Reading this register always returns ”0”.
7:2 RO Reserved (0)
1:0 WO Programmable Endpoint Index
0-3: Endpoint number index
This index value determines which Endpoint data toggle bit will be initialized. Reading this
register always returns ”0”.
Note :
Data toggle sequence initialization can only be applied to Control/Bulk/Interrupt type Endpoints.
Isochronous type Endpoints should not be initialized; it will be reset automatically when SOF receives.
Offset: 34 UBD34: Base Address of Endpoint 0 IN/OUT Data Buffer Register Init = X
Bit R/W Description
31 RO Reserved (0)
30:0 RW Base address of Endpoint 0 IN/OUT data buffer
This register defines the base address of Default Control Endpoint transaction data buffer,
which is 64 bytes long and at 64-bit boundary.
The direction of this buffer is determined by S/W and depends on the Control Transfer
Command mode.
• For OUT direction endpoint, this definition limits the maximum packet size can be
received. If extra bytes received, it will not be transfered to DRAM and return with
NAK response to retry this transaction.
• For IN direction endpoint, it must be used in companion with EPP04[3]. It defines
the maximum bytes to be returned within 1 packet. This enables a possibility to
pack several packets into a descriptor stage. The total size that can be packed in a
descriptor stage equals to 4095 bytes or 8 sub-packets, depends on which criteria
meet first.
When SOF received, the data PID sequencing will be reset to the start data PID.
For long packet (transmit byte count > maximum packet size) or high bandwidth
Isochronous IN, please enable the auto data toggle mode, EPP00[13] = 0.
1. System global reset controlled in SCU, this will reset full controller including registers.
2. Release the endpoint, disable endpoint.
3. Set the reset bit at UBD20 Bit[9] or UBD20 Bit[n], where n is device number set in the Port Number field.
Only the first item will reset the register value, others don’t.
1. When read, this value indicates the current internal register state used for next trans-
action Data sequence PID.
2. When write, used to setting the next transaction Data sequence PID. Only valid at
Single descriptor mode, endpoint type ”IN” and auto data toggle disabled.
27 RO Reserved (0)
to next page
Endpoint Type
Descriptor Type IN OUT
Single TxDataByteCnt(1) RxDataByteCnt(3)
List TxDataByteCnt(2) MaxPacketSize(4)
(1) When endpoint type = IN and single mode enabled :
Transmit data packet length
This is the transmit data packet length for IN transfer.
Setting by SW.
(2) When endpoint type = IN and descriptor list mode :
Transmit data packet length
This is the transmit data packet length for IN transfer.
Fetched from descriptor list entry.
(3) When endpoint type = OUT and single mode enabled :
Received data packet length
This is the received data packet length of OUT transfer.
Setting by RXDMA controller.
(4) When endpoint type = OUT and descriptor list mode :
Endpoint Maximum Packet Size
This is used for OUT transaction short packet interrupt trigger.
When the OUT data length received less than the Maximum Packet Size,
then the OUT ACK interrupt flag will raise.
Setting by SW.
SW can write this value when descriptor is under disabled state, including single descrip-
tor mode.
15:8 RW Descriptor List DMA Read Pointer (Default=0)
This shows the current descriptor read position that will be read by DMA controller if it is
not empty(equal to CPU write pointer).
This pointer can be initialized by S/W when descriptor list mode is disabled and not set at
single mode. The correct initialize procedure is as follows:
1. Disable the descriptor list first, set EPP04 = 0
2. Wait descriptor operation status Idle EPP04[7:4] == 0 or 0x8
3. Update the Read Pointer
4. Enable the descriptor operation, set EPP04[0] = 1
to next page
For receive (OUT) direction, this pointer indicates the receiver free buffer allocated to DMA.
When descriptor operation is enabled, this value indicates the next descriptor write position
that will be writing by CPU. And the DMA operation will increment until read pointer equals
to write pointer that indicates the Empty condition.
The descriptor stage that Write Pointer addressed is not valid, and DMA will not process
it.
The descriptor list usage cannot be fully, there needs 1 free space for differentiation full
and empty cases. That is when WPTR = RPTR, it means empty status. And full status
equals WPTR = RPTR-1. The SW can maximum fills the descriptor entry until the full
condition; otherwise it will conflict with the empty condition.
Note :
The descriptor operation is that the Write Pointer is the leading pointer, and Read Pointer will track at the tail of Write
Pointer.
Read and Write pointer will be reset to 0 when device reset (UBD20) or USB bus reset occurs.
Global Reset
This is an asynchronous reset control and will reset full controller to its initial state, including all registers.
This reset can be initiated from SCU040[3] reset control register.
Root Disconnection
Endpoint Enable
1. Enable endpoint interrupt by setting the specific bit in UBD10 and UBD14 to ’1’
2. Enable endpoint, assign the device port, set the endpoint type and endpoint number
3. Create endpoint’s DMA, single buffer mode or descriptor list mode
This controller integrates one set of Control Endpoint and two sets of Interrupt IN Endpoints, equipped with 8
bytes of data buffer for each Endpoint. It also supports additional features like Suspend, Wake-Up Resume
and Remote Wake-Up Resume.
USB1.1 totally implements 17 sets of 32-bit registers, which are listed below, to program the various sup-
ported functions. Each register has its own specific offset value, ranging from 0x00 to 0x40h, to derive its
physical address location.
20.2 Features
• Compliant with Universal Serial Bus Specification Revision 1.1/2.0
• Integrate 1 set of USB1.1 PHY
• Clock source is from a divided clock from USB PHY PLL
• Support only Low Speed Transfer
• Support Suspend, Wake-up resume and Remote Wake-up resume
• Support 1 Control and 2 Interrupt IN Endpoint
• Support 8 Bytes buffer for each Endpoints
Offset: 0Ch USBL0C: USB Status Register (for debugging purpose only) Init = X
Bit R/W Description
31 RO USB Suspend State
30 RO USB Bus Reset State
29 RO USB Bus Line State FullSpeedMode = DN, LowSpeedMode = DP
28 RO USB Bus Line State FullSpeedMode = DP, LowSpeedMode = DN
27 RO Reserved (0)
26:16 RO USB Last Frame Number
15:11 RO Reserved (0)
10:4 RO USB Last Transaction Device Address
3:0 RO USB Last Transaction Endpoint Number
Offset: 18h USBL18: Endpoint 0 Control and Status Register Init = 0x00000XX0
Bit R/W Description
31:12 RO Reserved (0)
11:8 RO Endpoint 0 OUT received data byte count
This register determines the number of valid bytes in Endpoint 0 SETUP/OUT data buffer.
7:4 RW Endpoint 0 IN data byte count for transfer
This register determines the number of valid bytes in Endpoint 0 IN data buffer.
3 RO Reserved (0)
2 RW Endpoint 0 OUT buffer ready for receiving data
0: Buffer is not ready to receive data
1: Buffer is ready to receive data
S/W can set this bit to ’1’ when it is ready to receive data from Host by OUT transactions.
When H/W receives the data successfully, this bit will be automatically cleared to ”0”. S/W
can monitor this bit to check the data has been received or not.
to next page
Offset: 1Ch USBL1C: Endpoint 1 Control and Status Register Init = 0x000000X0
Bit R/W Description
31:8 RO Reserved (0)
7:4 RW Endpoint 1 IN data byte count for transfer
This register determines the number of valid bytes in Endpoint 1 IN data buffer.
3:2 RO Reserved (0)
1 RW Endpoint 1 IN buffer ready for transferring data
0: Data is not ready to transfer data
1: Data is ready to transfer data
S/W can set this bit to ’1’ when there is a need to transfer data to Host by IN transactions.
When H/W has finished the data transfer, this bit will be automatically cleared. S/W can
monitor this bit to check the data has been transferred or not.
For H/W timing concerns, this bit cannot be set at the same time as Bit [7:4] of this register.
Two steps of write commands are required: Write Bit [7:4] the first, update Bit [1] the
second.
0 RW Stall Control
When this register is set to ”1”, Endpoint 1 returns STALL response for all IN transactions
until S/W clears this bit to ’0’.
Offset: 20h USBL20: Endpoint 2 Control and Status Register Init = 0x000000X0
Bit R/W Description
31:8 RO Reserved (0)
7:4 RW Endpoint 2 IN data byte count for transfer
This register determines the number of valid bytes in Endpoint 2 IN data buffer.
3:2 RO Reserved (0)
1 RW Endpoint 2 IN buffer ready for transferring data
0: Data is not ready to transfer data
1: Data is ready to transfer data
S/W can set this bit to ’1’ when there is a need to transfer data to Host by IN transactions.
When H/W has finished the data transfer, this bit will be automatically cleared. S/W can
monitor this bit to check the data has been transferred or not.
For H/W timing concerns, this bit cannot be set at the same time as Bit [7:4] of this register.
Two steps of write commands are required: Write Bit [7:4] the first, update Bit [1] the
second.
to next page
Offset: 24h USBL24: Endpoint 0 SETUP/OUT Data Buffer Register (Low) Init = X
Offset: 28h USBL28: Endpoint 0 SETUP/OUT Data Buffer Register (High) Init = X
Bit Attr. Description
63:0 RO Endpoint 0 Setup/OUT Data buffer
When received SETUP/OUT interrupt, S/W must read back this register as input com-
mands or data. Since SETUP data and OUT data share the same buffer and SETUP data
cannot be retried, whenever SETUP transaction phase happens, this data buffer will be
automatically overwritten by SETUP data.
USB2.0 Host Controller (EHCI) is adapted from EHCI Rev1.0. A RootHub is embedded in the core, by default,
only one USB2.0 downstream port is implemented.
• Supports 2 ports data transfer at full-speed (12 Mbit/s) and low-speed (1.5 Mbit/s) (UHCI)
• Supports all four types of USB transfers: control, bulk, interrupt and isochronous
• Includes a RootHub with multi-port architecture
• Directly addressable memory architecture; memory can be updated on-the-fly
• Supports USB Host Controller I/O registers for software communication channel
• Re-uses Linux UHCI Host Controller driver with minor change on register offset
• Register set are only capable of double-word read/write
Note: Chip Hardware Reset has the same effect as Global Reset (bit 2), except
that the Host Controller does not send the Global Reset on USB.
1 RW Host Controller Reset (HCRESET)
When this bit is set to 1, the Host Controller module resets its internal timers, counters,
state machines, etc. to their initial value. Any transaction currently in progress on USB is
immediately terminated.
This bit is reset by the Host Controller when the reset process is complete.
The HCReset effects on Hub registers are slightly different from Chip Hardware Re-
set and Global USB Reset. The HCReset affects bits [8,3:0] of the Port Status and
Control Register (PORTSC) of each port. HCReset resets the state machines of the Host
Controller including the Connect/Disconnect state machine (one for each port). When the
Connect/Disconnect state machine is reset, the output that signals connect/disconnect
are negated to 0, effectively signaling a disconnect even if a device is attached to the port.
This virtual disconnect causes the port to be disabled. This disconnect and disabling of
the port causes bit 1 (connect status change) and bit 3 (port enable/disable change) of
the PORTSC to get set. The disconnect also causes bit 8 of PORTSC to reset. About 64
bit times after HCReset goes to 0, the connect and low-speed detect will take place and
bits 0 and 8 of the PORTSC will change accordingly.
0 RW Run/Stop (RS)
0: Stop.
1: Run.
When set to a 1, the Host Controller proceeds with execution of the schedule. The Host
Controller continues execution as long as this bit is set. When this bit is set to 0, the Host
Controller completes the current transaction on the USB and then halts. The HC Halted bit
in the status register indicates when the Host Controller has finished the transaction and
has entered the stopped state. The Host Controller clears this bit when the following fatal
errors occur: consistency check failure, AHB Bus errors.
Offset: 04h UHCI04: USB Status Register (USBSTS) Init = 0x0000 0020
Bit R/W Description
31:6 RO Reserved (0)
5 RW1C HCHalted bit (WC)
The Host Controller sets this bit to 1 after it has stopped executing as a result of the
Run/Stop bit being set to 0, either by software or by the Host Controller hardware (debug
mode or an internal error).
4 RW1C Host Controller Process Error (WC)
The Host Controller sets this bit to 1 when it detects a fatal error and indicates that the Host
Controller suffered a consistency check failure while processing a Transfer Descriptor. An
example of a consistency check failure would be finding an illegal PID field while process-
ing the packet header portion of the TD. When this error occurs, the Host Controller clears
the Run/Stop bit in the Command register to prevent further schedule execution. A hard-
ware interrupt is generated to the system.
to next page
Offset: 0Ch UHCI0C: Frame List Based Address Register (FRBASEADD) Init = X
Bit R/W Description
31:12 RW Base Address
These bits correspond to memory address signals [31:12], respectively.
11:0 RO Reserved (0)
Offset: 84h UHCI84: Start of Frame Modify Register (SOFMOD) Init = 0x0000 0040
Bit R/W Description
31:7 RO Reserved (0)
6:0 RW SOF Timing Value
Guidelines for the modification of frame time are contained in Chapter 7 of the USB
Specification. The SOF cycle time (number of SOF counter clock periods to generate a
SOF frame length) is equal to 11936 + value in this field. The default value is decimal
64 which gives a SOF cycle time of 12000. For a 12 MHz SOF counter clock input, this
produces a 1 ms Frame period. The following table indicates what SOF Timing Value to
program into this field for a certain frame period.
Frame Length
(# 12Mhz Clocks) SOF Reg. Value
(decimal) (decimal)
11936 0
11937 1
...
...
11999 63
12000 64
12001 65
...
...
12062 126
12063 127
Offset: 88h UHCI88: Port1 Status/Control Register (PORTSC1) Init = 0x0000 0080
Offset: 8Ch UHCI8C: Port2 Status/Control Register (PORTSC2) Init = 0x0000 0080
Bit Attr. Description
31:13 RO Reserved (0)
12 RW Suspend
0: Port not in suspend state.
1: Port in suspend state.
This bit should not be written to a 1 if global suspend is active (bit[3]=1 in the USBCMD
register). Bit[2] and bit[12] of this register define the hub states as follows:
0: The first N PCC ports are routed to the lowest numbered function companion host
controller, the next N PCC port are routed to the next lowest function companion
controller, and so on.
1: The port routing is explicitly enumerated by the first N PORTS elements of the HCSP-
PORTROUTE array.
If set to a one, then system software can specify and use a smaller frame list and
configure the host controller via the USBCMD register Frame List Size field. The frame
list must always be aligned on a 4K page boundary. This requirement ensures that the
frame list is always physically contiguous.
0 RO 64-bit Addressing Capability
0: data structures using 32-bit address memory pointers
1: data structures using 64-bit address memory pointers
Offset: 0Ch-1Ch EHCI0C: Companion Port Route Description (HCSP-PORTROUTE) Init = 0x0
Bit R/W Description
159:0 RO Reserved (0)
When software writes a one to this bit, the Host Controller resets its internal pipelines,
timers, counters, state machines, etc. to their initial value. Any transaction currently in
progress on USB is immediately terminated. A USB reset is not driven on downstream
ports.
PCI Configuration registers are not affected by this reset. All operational registers,
including port registers and port state machines are set to their initial values. Port
ownership reverts to the companion host controller(s). Software must reinitialize the host
controller in order to return the host controller to an operational state.
This bit is set to zero by the Host Controller when the reset process is complete.
Software cannot terminate the reset process early by writing a zero to this register.
Software should not set this bit to a one when the HCHalted bit in the USBSTS register
is a zero. Attempting to reset an actively running host controller will result in undefined
behavior.
0 RW Run/Stop (RS)
0=Stop.
1=Run.
When set to a 1, the Host Controller proceeds with execution of the schedule. The Host
Controller continues execution as long as this bit is set to a 1. When this bit is set to 0, the
Host Controller completes the current and any actively pipelined transactions on the USB
and then halts. The Host Controller must halt within 16 micro-frames after software clears
the Run bit. The HC Halted bit in the status register indicates when the Host Controller has
finished its pending pipelined transactions and has entered the stopped state. Software
must not write a one to this field unless the host controller is in the Halted state (i.e.
HCHalted in the USBSTS register is a one). Doing so will yield undefined results.
Offset: 34h EHCI34: Periodic Frame List Base Address Register (PERIODICLISTBASE) Init = X
Bit R/W Description
31:12 RW Base Address
These bits correspond to memory address signals [31:12], respectively.
11:0 RO Reserved (0)
Offset: 38h EHCI38: Current Asynchronous List Address Register (ASYNCLISTADDR) Init = X
Bit R/W Description
31:5 RW Link Pointer Low (LPL)
These bits correspond to memory address signals [31:5], respectively. This field may only
reference a Queue Head (QH).
4:0 RO Reserved (0)
0: Port routing control logic default-routes each port to an implementation dependent clas-
sic host controller.
1: Port routing control logic default-routes all ports to this host controller.
Offset: 64h EHCI64: Port1 Status/Control Register (PORTSC1) Init = 0x0000 3000
31:22 RO Reserved (0)
21 RW Wake on Disconnect Enable (WKDSCNNT E)
Writing this bit to a one enables the port to be sensitive to device disconnects as wake-up
events.
20 RW Wake on Connect Enable (WKCNNT E)
Writing this bit to a one enables the port to be sensitive to device connects as wake-up
events. See Section 4.3 for effects of this bit on resume event behavior. Refer to Section
4.3.1 for operational model.
19:14 RO Reserved (0)
13 RW Port Owner
This bit unconditionally goes to a 0b when the Configured bit in the CONFIGFLAG register
makes a 0b to 1b transition. This bit unconditionally goes to 1b whenever the Configured
bit is zero.
System software uses this field to release ownership of the port to a selected host con-
troller (in the event that the attached device is not a high-speed device). Software writes
a one to this bit when the attached device is not a high-speed device. A one in this bit
means that a companion host controller owns and controls the port.
12 RO Reserved (1)
11:10 RO Line Status
These bits reflect the current logical levels of the D+ (bit 11) and D- (bit 10) signal lines.
These bits are used for detection of low-speed USB devices prior to the port reset and
enable sequence. This field is valid only when the port enable bit is zero and the current
connect status bit is set to a one.
The encoding of the bits are:
Bits[11:10] USB State Interpretation
00b SE0 Not Low-speed device, perform EHCI reset
10b J-state Not Low-speed device, perform EHCI reset
01b K-state Low-speed device, release ownership of port
11b Undefined Not Low-speed device, perform EHCI reset.
9 RO Reserved (0)
8 RW Port Reset
0: Port is not in Reset.
1: Port is in Reset.
When software writes a one to this bit (from a zero), the bus reset sequence as defined in
the USB Specification Revision 2.0 is started. Software writes a zero to this bit to termi-
nate the bus reset sequence. Software must keep this bit at a one long enough to ensure
the reset sequence, as specified in the USB Specification Revision 2.0, completes. Note:
when software writes this bit to a one, it must also write a zero to the Port Enable bit.
Note that when software writes a zero to this bit there may be a delay before the bit status
changes to a zero. The bit status will not read as a zero until after the reset has com-
pleted. If the port is in high-speed mode after reset is complete, the host controller will
automatically enable this port (e.g. set the Port Enable bit to a one). A host controller
must terminate the reset and stabilize the state of the port within 2 milliseconds of soft-
ware transitioning this bit from a one to a zero. For example: if the port detects that the
attached device is high-speed during reset, then the host controller must have the port in
the enabled state within 2ms of software writing this bit to a zero.
The HCHalted bit in the USBSTS register should be a zero before software attempts to
use this bit. The host controller may hold Port Reset asserted to a one when the HCHalted
bit is a one.
7 RW Suspend
0: Port not in suspend state.
1: Port in suspend state.
Port Enabled Bit and Suspend bit of this register define the port states as follows:
Bits [Port Enabled, Suspend] Port State
0X Disable
10 Enable
11 Suspend
When in suspend state, downstream propagation of data is blocked on this port, except
for port reset. The blocking occurs at the end of the current transaction, if a transaction
was in progress when this bit was written to 1. In the suspend state, the port is sensitive
to resume detection. Note that the bit status does not change until the port is suspended
and that there may be a delay in suspending a port if there is a transaction currently in
progress on the USB.
A write of zero to this bit is ignored by the host controller. The host controller will
unconditionally set this bit to a zero when:
• Software sets the Force Port Resume bit to a zero (from a one).
• Software sets the Port Reset bit to a one (from a zero).
If host software sets this bit to a one when the port is not enabled (i.e. Port enabled bit is
a zero) the results are undefined.
6 RW Force Port Resume
0: No resume (K-state) detected/driven on port.
1: Resume detected/driven on port.
This functionality defined for manipulating this bit depends on the value of the Suspend
bit. For example, if the port is not suspended (Suspend and Enabled bits are a one) and
software transitions this bit to a one, then the effects on the bus are undefined.
Software sets this bit to a 1 to drive resume signaling. The Host Controller sets this bit
to a 1 if a J-to-K transition is detected while the port is in the Suspend state. When this
bit transitions to a one because a J-to-K transition is detected, the Port Change Detect bit
in the USBSTS register is also set to a one. If software sets this bit to a one, the host
controller must not set the Port Change Detect bit.
Note that when the EHCI controller owns the port, the resume sequence follows the de-
fined sequence documented in the USB Specification Revision 2.0. The resume signaling
(Full-speed ’K’) is driven on the port as long as this bit remains a one. Software must
appropriately time the Resume and set this bit to a zero when the appropriate amount of
time has elapsed. Writing a zero (from one) causes the port to return to high- speed mode
(forcing the bus below the port into a high-speed idle). This bit will remain a one until the
port has switched to the high-speed idle. The host controller must complete this transition
within 2 milliseconds of software setting this bit to a zero.
5:4 RO Reserved (0)
3 RW1C Port Enable/Disable Change (WC)
0: No change.
1: Port enabled/disabled status has changed.
For the root hub, this bit gets set to a one only when a port is disabled due to the appro-
priate conditions existing at the EOF2 point (See Chapter 11 of the USB Specification for
the definition of a Port Error). Software clears this bit by writing a 1 to it.
2 RW Port Enabled/Disabled
0: Disable.
1: Enable.
Ports can only be enabled by the host controller as a part of the reset and enable. Software
cannot enable a port by writing a one to this field. The host controller will only set this bit
to a one when the reset sequence determines that the attached device is a high-speed
device.
Ports can be disabled by either a fault condition (disconnect event or other fault condition)
or by host software. Note that the bit status does not change until the port state actually
changes. There may be a delay in disabling or enabling a port due to other host controller
and bus events.
When the port is disabled (0b) downstream propagation of data is blocked on this port,
except for reset.
1 RW1C Connect Status Change (WC)
0: No change.
1: Change in Current Connect Status.
Indicates a change has occurred in the ports Current Connect Status. The host controller
sets this bit for all changes to the port device connect status, even if system software has
not cleared an existing connect status change. For example, the insertion status changes
twice before system software has cleared the changed condition, hub hardware will be
”setting” an already-set bit (i.e., the bit will remain set). Software sets this bit to 0 by
writing a 1 to it.
0 RO Current Connect Status
0: No device is present.
1: Device is present on port.
This value reflects the current state of the port, and may not correspond directly to the
event that caused the Connect Status Change bit (Bit 1) to be set.
Offset: 80h EHCI80: Frame Length Adjustment Register (FLADJ) Init = 0x0000 0020
Bit R/W Description
31:6 RO Reserved (0)
5:0 RW Frame Length Timing Value
Each decimal value change to this register corresponds to 16 high-speed bit times. The
SOF cycle time (number of SOF counter clock periods to generate a SOF micro-frame
length) is equal to 59488 + value in this field. The default value is decimal 32 (20h), which
gives a SOF cycle time of 60000.
Frame Length
(# High Speed bit times) FLADJ Value
(decimal) (decimal)
59488 0 (00h)
59504 1 (01h)
59520 2 (02h)
...
59984 31 (1Fh)
60000 32 (20h)
...
60480 62 (3Eh)
60496 63 (3Fh)
Offset: 8Ch EHCI8C: Hardware Revision Number Register Init = 0x0000 0002
Bit R/W Description
31:8 RO Reserved (0)
7:0 RO Hardware revision number
23.1.1 Features
• Only support the DRAM size that has Column address (CA) = 10 bits (A0∼A9).
• Only support the DRAM BurstLen = 8 mode.
• Supported DRAM configurations.
– DDR4: 128Mb x 16 (2Gb), 256Mb x 16 (4Gb), 512Mb x 16 (8Gb), 1Gb x 16 (16Gb), 1Gb x 16 (16Gb
TwinDie 1 rank)
• Support I/O timing calibration function.
• Support programmable size of Vertical ECC protection function, the overhead of memory size equals to
1/8 ECC protected memory size.
– Actual DRAM Size required when ECC enabled = ECC protected size * 9 / 8
• Support 2 write protect regions for DDR memory write protect.
5. Check MCR50 for the ECC error event. And check if MCR58 or MCR5C match to MCRB4.
Chang the setting of Memory Controller registers often results in significant impact on SOC operations. There-
fore, all these registers have to be well protected.
Whenever finished the initialization of SDRAM registers, please always set SDRAM regis-
ters into locking mode. The initial state of this register is soft-lock mode.
When this register is soft-locked, the read back value of this register is 0x00000000.
When this register is hard-locked, the read back value of this register is 0x00000010.
When this register is unlocked, the read back value of this register is 0x00000001.
This register is designed to protect SDRAM memory from improper graphics memory up-
dates by host CPU. SDRAM memory controller can serve a bunch of memory access
requests from REQ0 to REQn. All the memory requests from VGA Display Controller and
PCI Bus Controller are among them. When the register bit corresponding to REQn is pro-
grammed to be 1, all the accesses of REQn will be re-allocated by address re-mapping to
the highest memory space defined by MCR04 [1:0]. When being programmed to be 0, the
request is not changed.
When this bit is enabled, SDRAM Controller will issue SDRAM refresh cycle requests with
the lowest priority to best utilize the available memory bandwidth. Whenever memory
requests bus are idled and then SDRAM Controller will automatically issue low-priority
SDRAM refresh cycle requests. The maximum accumulated number of refresh cycle is 8.
Low-Priority refresh cycles will stop whenever any request is pending for execution.
4 RW Force all banks to be pre-charged before refresh cycles
0: Disabled
1: Enabled
In general, SDRAM will only pre-charge the banks needed to be pre-charged before re-
fresh cycle. When this bit is enabled, SDRAM will pre-charge all the banks, no matter the
bank status. This register is designed for insurance policy only.
3:1 RW Reserved
0 RW Refresh enable
Note :
When working at higher ambient temperature (85o C), the refresh period must be 2X faster.
Set this bit to ’1’ will fire mode register setting. When finished, HW will automatically clear
this bit to 0. Then SW can do the next mode setting command; HW will automatically
control the timing requirement. Before this command has been done, AHB bus will be
locked to prevent other command entering SDRAM controller, so SW can set the command
continuously without delay.
This register is designed to guarantee high priority requests with low latency, especially
the CRT display request, which if suffering long latency time from waiting many low priority
requests pending in the request queue, may cause serious screen noise. Therefore, high
priority requests are usually not masked so that they will not be ignored even when the
queued request number over the threshold value.
Offset: 54h MCR54: ECC Address Range Control Register Init = 0x1FF00000
Bit R/W Description
31 RO Reserved (0)
to next page
When ECC is enabled, firmware must reserve extra 1/8 address space for ECC
spare data storage.
19:18 RO Reserved (0)
17 RO Last blocked read/write mode on Group 2-2
16 RO Request ID of the last blocked read/write on Group 2-2
13 RO Last blocked read/write mode on Group 2-1
12:8 RO Request ID of the last blocked read/write on Group 2-1
3 RO Last blocked read/write mode on Group 1
0: read
1: write
2:0 RO Request ID of the last blocked read/write on Group 1
Note :
The blocked command has below conditions:
1. Over-sized write
2. Write to protected region 1/2
3. Over-sized read if read wrap mode was disabled
4. Read to protected region 1/2 if read was disabled
Offset: 58h MCR58: Address of First Un-Recoverable ECC Error Address Init = 0
Bit R/W Description
31 RO Reserved (0)
30:4 RO Address of first un-recoverable ECC error
The address will be recorded again when the error accumulation counter be reset.
3:0 RO Reserved (0)
Offset: 5Ch MCR5C: Address of Last Recoverable ECC Error Address Init = 0
Bit R/W Description
31 RO Reserved (0)
30:4 RO Address of last recoverable ECC error
The address will be recorded again when the error accumulation counter be reset.
3:0 RO Reserved (0)
Offset: 68h MCR68: DDR PHY I2C Debug Interface Register Init = 0
Bit R/W Description
3 RO SDA line state
2 RO SCL line state
1 RW SDA OE
0: SDA pull high
1: SDA drive low
0 RW SCL OE
0: SCL pull high
1: SCL drive low
The initial value of testing data will be from MCR7C. The sequential testing data will be
generated based on the above selected mode.
2:1 RW Testing mode
00: Write memory only (testing result flag is always 0 after testing)
01: Read back and compare for each location
10: Write one memory location first then read back the location and compare with the
expected value
11: Reserved
0 RW Enable testing
0: Disable, reset test function and related status
1: Enable
Since SDRAM testing will impact normal graphics display functions, Its not recommended
to enable this function after Watchdog Timer reset. Enabling SDRAM testing after power-
on reset should be a right time frame.
Offset: 74h MCR74: Testing Start Address and Length Register Init = X
Bit R/W Description
31 RW Queue Merge Balance Enable #1
30:26 RW Testing start address base
This value defines the testing base address segment. It is defined at 64MB boundary.
to next page
Offset: 90h MCR90: Write Protect Region0 Lower Bound Register Init = 0
Offset: 94h MCR94: Write Protect Region0 Upper Bound Register Init = 0
Bit Attr. Description
MCR90: Lower Bound Register
31:12 RW Write Protect Region0 Lower Bound Address
11:1 RO Reserved
1 RW Disable Read to Write Protect Region0
0 RW Enable Write Protect Region0
MCR94: Upper Bound Register
31:12 RW Write Protect Region0 Upper Bound Address
11:0 RO Reserved
Note :
The protected region is Lower Bound ≤ write address ≤ Upper Bound.
This register is writable only when MCRA0[0] = 0.
Offset: 98h MCR98: Write Protect Region1 Lower Bound Register Init = 0
Offset: 9Ch MCR9C: Write Protect Region1 Upper Bound Register Init = 0
Bit Attr. Description
MCR98: Lower Bound Register
31:12 RW Write Protect Region1 Lower Bound Address
11:2 RO Reserved
1 RW Disable Read to Write Protect Region1
to next page
Offset: A0h MCRA0: Write Protect Registers Lock Control Register Init = 0
Bit R/W Description
31:3 RO Reserved
2 RW Disable DRAM read to oversized address
0: read to oversized region would return aliased lower address data
1: read to oversized region would return 0
1 RW Lock MCR98/MCR9C
0 RW Lock MCR90/MCR94
Note :
MCR90 ∼ MCRA0 can only be written by ARM CPU.
When enable SPI auxiliary pins configurable mode (SCU500[31]=1), then the write is controlled by external pin
FWSPIWP#.
When external pin FWSPIWP# = 0, then MCRA0 is write ’1’ only.
When external pin FWSPIWP# = 1, then MCRA0 can be write 1 and 0.
When disable SPI auxiliary pin configurable mode (SCU500[31]=0), then this register is write ’1’ possible only.
2. Reset DRAM DLL. Set MCR2C bit[8] = 1 and all other bits keep old value then set MCR28 = 1
Changing SCU registers usually results in significant impact on SOC operations. Therefore, all these registers
have to be well protected.
Only firmware can lock the SCU registers, other softwares (ex. system
BIOS/driver) can not do this to prevent disturbing the operation of firmware.
When this register is unlocked, the read back value of this register is 0x00000001.
When this register is locked, the read back value of this register is 0x00000000.
The following table shows a list of silicon revision ID. The register offset is different from previous generation
ASPEED BMC. The corresponding register for previous generation ASPEED BMC is SCU7C.
SCU004 SCU014
AST1100-A0 0x00000200 NA
AST1100-A1 0x00000201 NA
AST1100-A2 0x00000202 NA
AST1100-A3 0x00000202 NA
AST2050-A0 0x00000200 NA
AST2050-A1 0x00000201 NA
AST2050-A2 0x00000202 NA
AST2050-A3 0x00000202 NA
AST2100-A0 0x00000300 NA
AST2100-A1 0x00000301 NA
AST2100-A2 0x00000302 NA
AST2100-A3 0x00000302 NA
AST2150-A0 0x00000202 NA
AST2150-A1 0x00000202 NA
AST2200-A0 0x00000102 NA
AST2200-A1 0x00000102 NA
AST2300-A0 0x01000003 NA
AST2300-A1 0x01010303 NA
AST1300-A1 0x01010003 NA
AST1050-A1 0x01010203 NA
AST2400-A0 0x02000303 NA
AST2400-A1 0x02010303 NA
AST1400-A1 0x02010103 NA
AST1250-A1 0x02010303 NA
AST2500-A0 0x04000303 NA
AST2510-A0 0x04000103 NA
AST2520-A0 0x04000203 NA
AST2530-A0 0x04000403 NA
AST2500-A1 0x04010303 NA
AST2510-A1 0x04010103 NA
AST2520-A1 0x04010203 NA
AST2530-A1 0x04010403 NA
AST2500-A2 0x04030303 NA
AST2510-A2 0x04030103 NA
AST2520-A2 0x04030203 NA
AST2530-A2 0x04030403 NA
AST2600-A0 0x05000303 0x05000303
AST2600-A1 0x05010303 0x05010303
AST2600-A2 0x05010303 0x05020303
AST2600-A3 0x05030303 0x05030303
AST2620-A1 0x05010203 0x05010203
AST2620-A2 0x05010203 0x05020203
AST2620-A3 0x05030203 0x05030203
Offset: 050h SCU050: System Reset Control Register Set 2 Init = 0x0DFFFFFC
Bit R/W Reset Description
31:28 RW1S Rst68 Reserved, must keep at value ”1111”
27 RW1S Rst68 Reset FSI controller
0: No operation
1: Reset FSI controller (asynchronous reset) (default)
26 RW1S Rst68 Reserved, must keep at value ”1”
25 RW1S Rst68 Reset eSPI controller
0: No operation (default)
1: Reset eSPI controller (asynchronous reset)
24 RW1S Rst68 Reset SD controller
0: No operation
1: Reset eMMC controller (asynchronous reset) (default)
23 RW1S Rst68 Reset ADC controller
0: No operation
1: Reset ADC controller (asynchronous reset) (default)
22 RW1S Rst68 Reset JTAG Master 2 controller
0: No operation
1: Reset JTAG Master 2 controller (asynchronous reset) (default)
The reset control bit also control the JTAG interface mode.
0: Enable JTAG master mode, JTAG slave was reset
1: Enable JTAG slave mode (ARM ICE debugger)
Firmware must enable JTAG master mode when Mass Production, for solv-
ing ARM JTAG reset incomplete issue.
to next page
Offset: 064h SCU064: System Reset Event Log Register Set 1-1 Init = 0x0000FF31
Bit R/W Reset Description
31 W1C RstPwr WDT4 Software Reset event log
30 W1C RstPwr WDT4 ARM Reset event log
29 W1C RstPwr WDT4 Full Reset event log
28 W1C RstPwr WDT4 SOC Reset event log
27 W1C RstPwr WDT3 Software Reset event log
26 W1C RstPwr WDT3 ARM Reset event log
25 W1C RstPwr WDT3 Full Reset event log
24 W1C RstPwr WDT3 SOC Reset event
23 W1C RstPwr WDT2 Software Reset event log
22 W1C RstPwr WDT2 ARM Reset event log
21 W1C RstPwr WDT2 Full Reset event log
20 W1C RstPwr WDT2 SOC Reset event log
19 W1C RstPwr WDT1 Software Reset event log
18 W1C RstPwr WDT1 ARM Reset event log
17 W1C RstPwr WDT1 Full Reset event log
16 W1C RstPwr WDT1 SOC Reset event log
15 W1C Rst02 Reset event log – SLI HRST N Internal Bridge Controller reset
14 W1C Rst01 Reset event log – AHB HRST N AHB Bus Controller reset
13 W1C Rst03 Reset event log – SOC HRST N AHB SOC reset
12 W1C RstARM Reset event log – ARMRST N ARM CA7 CPU reset
11 W1C RstFull Reset event log – PWRST N Power-on reset
10 W1C RstPwr Reset event log – PWRSTNinPLL PLL power-on reset
9 W1C RstPwr Reset event log – PWRSTNinTrap Power-on strap enable signal
8 W1C RstFull Reset event log – PWRSTNinR Power-on strap enable signal
7 W1C RstPwr reverved
6 W1C RstPwr Coprocessor external reset SSPRST# flag
5 W1C RstRC PCIe bus #2 reset PERST# flag
4 W1C RstPE PCIe bus #1 reset RCRST# flag
3 W1C RstPwr MMC ECC fail reset flag
2 W1C RstPwr Boot flash reset flag – ABR or AdrSwap
1 W1C RstPwr External reset EXTRST# flag
0 W1C RstPwr Power on reset SRST# flag
Note :
All register bits are write ’1’ clear.
Offset: 068h SCU068: System Reset Event Log Register Set 1-2 Init = 0x1FFFFFFF
Bit R/W Reset Description
31:29 RO - reverved(0)
28 W1C Rst34 Reset event log – H2X HRST N AHB to PCIe RC bridge controller reset
27 W1C Rst21 Reset event log – GPMCU HRST N GP MCU reset
26 W1C Rst20 Reset event log – DPMCU HRST N DP MCU reset
25 W1C Rst19 Reset event log – DP PRST N DisplayPort controller reset
24 W1C Rst30 Reset event log – XDMA8PRST N PCIe RC XDMA reset
23 W1C Rst29 Reset event log – XDMA PRST N PCIe device XDMA reset
22 W1C Rst32 Reset event log – RVAS HRST N RVAS engine reset
21 W1C Rst17 Reset event log – VCE HRST N Video engine reset
20 W1C Rst10 Reset event log – UD2 HRST N USB2.0 device controller reset
19 W1C Rst08 Reset event log – UB2B HRST N reset
18 W1C Rst05 Reset event log – UB2 HRST N USB2.0 Hub reset
17 W1C Rst09 Reset event log – UB1 PRST N USB1.1 HID controller reset
16 W1C Rst12 Reset event log – UB11H HRST N USB1.1 UHCI Host reset
15 W1C Rst25 Reset event log – SDC HRST N eMMC Controller reset
14 W1C Rst33 Reset event log – MSI BRST N reset
13 W1C Rst35 Reset event log – P2A HRST N reset
12 W1C Rst28 Reset event log – MCTP8 PRST N PCIe RC MCTP reset
11 W1C Rst27 Reset event log – MCTP PRST N PCIe device MCTP reset
10 W1C Rst23 Reset event log – MAC1 HRST N Ethernet MAC #1 reset
9 W1C Rst22 Reset event log – MAC0 HRST N Ethernet MAC #0 reset
8 W1C Rst37 Reset event log – UARTDB RST N UART DMA reset
7 W1C Rst36 Reset event log – UART1 RST N UART #1 reset
6 W1C Rst16 Reset event log – G2D HRST N 2D engine reset
5 W1C Rst14 Reset event log – GFX PRST N SOC display controller reset
4 W1C Rst18 Reset event log – AES PRST N Hash & crypto engine reset
3 W1C Rst04 Reset event log – CM3 HRST N ARM CM3 reset
2 W1C Rst00 Reset event log – MMC PRST N DRAM controller reset
1 W1C Rst26 Reset event log – JTAG PRST N JTAG master reset
0 W1C Rst31 Reset event log – GPIO PRST N 1.8V GPIO reset
Note :
All register bits are write ’1’ clear.
Offset: 06Ch SCU06C: System Reset Event Log Register Set 1-3 Init = 0
Bit R/W Reset Description
31:16 RO - reverved(0)
15 W1C RstPwr WDT8 Software Reset event log
14 W1C RstPwr WDT8 ARM Reset event log
13 W1C RstPwr WDT8 Full Reset event log
12 W1C RstPwr WDT8 SOC Reset event log
11 W1C RstPwr WDT7 Software Reset event log
10 W1C RstPwr WDT7 ARM Reset event log
to next page
Offset: 074h SCU074: System Reset Event Log Register Set 2-1 Init = 0x0000FF31
Bit R/W Reset Description
31 W1C RstPwr WDT4 Software Reset event log
30 W1C RstPwr WDT4 ARM Reset event log
29 W1C RstPwr WDT4 Full Reset event log
28 W1C RstPwr WDT4 SOC Reset event log
27 W1C RstPwr WDT3 Software Reset event log
26 W1C RstPwr WDT3 ARM Reset event log
25 W1C RstPwr WDT3 Full Reset event log
24 W1C RstPwr WDT3 SOC Reset event log
23 W1C RstPwr WDT2 Software Reset event log
22 W1C RstPwr WDT2 ARM Reset event log
21 W1C RstPwr WDT2 Full Reset event log
20 W1C RstPwr WDT2 SOC Reset event log
19 W1C RstPwr WDT1 Software Reset event log
18 W1C RstPwr WDT1 ARM Reset event log
17 W1C RstPwr WDT1 Full Reset event log
16 W1C RstPwr WDT1 SOC Reset event log
15 W1C Rst02 Reset event log – SLI HRST N Internal Bridge Controller reset
14 W1C Rst01 Reset event log – AHB HRST N AHB Bus Controller reset
13 W1C Rst03 Reset event log – SOC HRST N AHB SOC reset
12 W1C RstARM Reset event log – ARMRST N ARM CA7 CPU reset
11 W1C RstFull Reset event log – PWRST N Power-on reset
10 W1C RstPwr Reset event log – PWRSTNinPLL PLL power-on reset
9 W1C RstPwr Reset event log – PWRSTNinTrap Power-on strap enable signal
8 W1C RstFull Reset event log – PWRSTNinR Power-on strap enable signal
7:6 RO - Reserved(0)
5 W1C Rst48 LPC Host bus reset LPCRST# event log
4 W1C Rst46 LPC/eSPI bus reset ESPIRST# event log
3 W1C RstPwr MMC ECC fail reset event log
2 W1C RstPwr Boot flash reset event log – ABR or AdrSwap
1 W1C RstPwr External reset EXTRST# event log
0 W1C RstPwr Power on reset SRST# event log
Note :
All register bits are write ’1’ clear.
Offset: 078h SCU078: System Reset Event Log Register Set 2-2 Init = 0x07FFFFFF
Bit R/W Reset Description
31:28 RO - Reserved(0)
27 W1C Rst61 Reset event log – ESPI HRST N eSPI Controller reset
26 W1C Rst38 Reset event log – SPI HRST N SPI Controller reset
25 W1C Rst42 Reset event log – SDC HRST N SD/SDIO Controller reset
24 W1C Rst50 Reset event log – PWM HRST N PWM/TACHO reset
23 W1C RstFull Reserved
22 W1C RstFull Reserved
21 W1C Rst60 Reset event log – I3C5 HRST N I3C #6 reset
20 W1C Rst59 Reset event log – I3C4 HRST N I3C #5 reset
19 W1C Rst58 Reset event log – I3C3 HRST N I3C #4 reset
18 W1C Rst57 Reset event log – I3C2 HRST N I3C #3 reset
17 W1C Rst56 Reset event log – I3C1 HRST N I3C #2 reset
16 W1C Rst55 Reset event log – I3C0 HRST N I3C #1 reset
15 W1C Rst54 Reset event log – I3C PRST N I3C DMA reset
14 W1C Rst49 Reset event log – PECI PRST N PECI reset
13 W1C Rst40 Reset event log – MAC4 HRST N Ethernet MAC #4 reset
12 W1C Rst39 Reset event log – MAC3 HRST N Ethernet MAC #3 reset
11 W1C Rst66 Reset event log – UART4 RST N UART #4 reset
10 W1C Rst65 Reset event log – UART3 RST N UART #3 reset
9 W1C Rst64 Reset event log – UART2 RST N UART #2 reset
8 W1C Rst63 Reset event log – UART1 RST N UART #1 reset
7 W1C PLTRST#Reset event log – PLTRST#Platform Reset
When AST2600 is in eSPI mode, it is reset source of SIO, KCS, BT, etc.
6 W1C Rst45 Reset event log – MDC PRST N MII Controller reset
5 W1C Rst47 Reset event log – LPC PRST N LPC controller reset
4 W1C Rst53 Reset event log – I2C PRST N I2C reset
3 W1C Rst52 Reset event log – FSI PRST N FSI reset
2 W1C Rst51 Reset event log – ADC PRST N ADC reset
1 W1C Rst43 Reset event log – JTAG PRST N JTAG reset
0 W1C Rst44 Reset event log – GPIO PRST N GPIO reset
Note :
All register bits are write ’1’ clear.
Offset: 07Ch SCU07C: System Reset Event Log Register Set 2-3 Init = 0
Bit R/W Reset Description
31:16 RO - reverved(0)
15 W1C RstPwr WDT8 Software Reset event log
14 W1C RstPwr WDT8 ARM Reset event log
13 W1C RstPwr WDT8 Full Reset event log
12 W1C RstPwr WDT8 SOC Reset event log
11 W1C RstPwr WDT7 Software Reset event log
10 W1C RstPwr WDT7 ARM Reset event log
to next page
USB1.1 HID, USB2.0 Host2 and USB2.0 Device controller shared the same port,
so only one can work at a time, which is determined by SCU440[29:28]. This bit
enables the clock of controller selected by SCU440[29:28].
6 RW1S Rst71 REFCLK1 Stop Enable
0: Enable clock running (default)
1: Stop clock running
Recommand to keep 0
to next page
Offset: 090h SCU090: Clock Stop Control Register Set 2 Init = 0xFFF0FFF0
Bit R/W Reset Description
31 RW1S Rst72 Reserved, must keep at value ”1”
30 RW1S Rst72 Stop FSICLK
0: Enable clock running
1: Stop clock running (default)
29 RW1S Rst72 Stop UART13CLK (For UART13 controller)
0: Enable clock running
1: Stop clock running (default)
28 RW1S Rst72 Stop UART12CLK (For UART12 controller)
0: Enable clock running
1: Stop clock running (default)
27 RW1S Rst72 Stop UART11CLK (For UART11 controller)
0: Enable clock running
1: Stop clock running (default)
26 RW1S Rst72 Stop UART10CLK (For UART10 controller)
0: Enable clock running
1: Stop clock running (default)
25 RW1S Rst72 Stop UART9CLK (For UART9 controller)
0: Enable clock running
1: Stop clock running (default)
24 RW1S Rst72 Stop UART8CLK (For UART8 controller)
0: Enable clock running
1: Stop clock running (default)
23 RW1S Rst72 Stop UART7CLK (For UART7 controller)
0: Enable clock running
1: Stop clock running (default)
to next page
ASPEED Confidential All rights reserved. 435 May 6, 2021
ASPEED AST2600 A3 Datasheet – V0.9
Offset: 094h SCU094: Clock Stop Control Clear Register Set 2 Init = 0
Bit R/W Reset Description
31:0 W1C - SCU090 Clock Stop Control Clear Register Set 2
Offset: 100h SCU100: ASPEED Defined for VGA Function Handshake Init = 0
Bit R/W Reset Description
31:24 RW Rst76 Reserved for ASPEED SDK firmware and SLT test program handshaking
0x5A: Embedded Linux boot to Linux Properly
others: Not defined
23:16 RW Rst76 Reserved for Customers definition
15:8 RW Rst76 Reserved for ASPEED definition
7 RW Rst76 DRAM Initial Selection (see note 1)
0: VBIOS Initial the DRAM
1: SOC Firmware Initial the DRAM
6 RW Rst76 SOC Firmware Initial DRAM Status (see note 1)
0: DRAM Initial is not ready
1: DRAM Initial is Ready
5 RW Rst76 Reserved (AST2000 use only)
4 RW Rst76 KVM Virtual EDID Function Selection (see note 2)
0: disable
1: enable
3 RW Rst76 Reserved 0
2 RW Rst76 Reserved 0
1 RW Rst76 BMC Firmware Protection
1: Forbid SOCFlash to update flash(support from SOCFlash v.1.02.01)
0 RW Rst76 iKVM support Wide Screen resolution
0: iKVM can NOT support wide screen resolution
1: iKVM support wide screen resolution
to next page
2.
if (0x1e6e2040 D[4] == 0)
VBIOS get EDID from DDC
Else
If the Monitor Attached
Get EDID from DDC
Else
Use Virtual EDID as EDID
End if
End if
Offset: 104h SCU104: ASPEED Defined for VGA Function Handshake Init = 0
Bit R/W Reset Description
31:0 RW Rst77 The last serviced IRQ number
Offset: 180h–1ACh SCU180 ∼ SCU1AC: CPU Scratch Register. Reserved for SMP booting Init = 0
Offset Bit Attr. Reset Description
180h 31:0 RW Rst80 CPU scratch register SCU180 bit[31:0]
184h 31:0 RW Rst80 CPU scratch register SCU184 bit[31:0]
188h 31:0 RW Rst80 CPU scratch register SCU188 bit[31:0]
18Ch 31:0 RW Rst80 CPU scratch register SCU18C bit[31:0]
190h 31:0 RW Rst81 CPU scratch register SCU190 bit[31:0]
194h 31:0 RW Rst81 CPU scratch register SCU194 bit[31:0]
198h 31:0 RW Rst81 CPU scratch register SCU198 bit[31:0]
19Ch 31:0 RW Rst81 CPU scratch register SCU19C bit[31:0]
1A0h 31:0 RW Rst82 CPU scratch register SCU1A0 bit[31:0]
1A4h 31:0 RW Rst82 CPU scratch register SCU1A4 bit[31:0]
1A8h 31:0 RW Rst82 CPU scratch register SCU1A8 bit[31:0]
1ACh 31:0 RW Rst82 CPU scratch register SCU1AC bit[31:0]
Offset: 1B0h–1FCh SCU1B0 ∼ SCU1FC: CPU Scratch Register. Available for SW use Init = 0
Offset Bit Attr. Reset Description
1B0h 31:0 RW Rst83 CPU scratch register SCU1B0 bit[31:0]
1B4h 31:0 RW Rst83 CPU scratch register SCU1B4 bit[31:0]
1B8h 31:0 RW Rst83 CPU scratch register SCU1B8 bit[31:0]
1BCh 31:0 RW Rst83 CPU scratch register SCU1BC bit[31:0]
1C0h 31:0 RW Rst84 CPU scratch register SCU1C0 bit[31:0]
1C4h 31:0 RW Rst84 CPU scratch register SCU1C4 bit[31:0]
1C8h 31:0 RW Rst84 CPU scratch register SCU1C8 bit[31:0]
1CCh 31:0 RW Rst84 CPU scratch register SCU1CC bit[31:0]
1D0h 31:0 RW Rst85 CPU scratch register SCU1D0 bit[31:0]
1D4h 31:0 RW Rst85 CPU scratch register SCU1D4 bit[31:0]
1D8h 31:0 RW Rst85 CPU scratch register SCU1D8 bit[31:0]
1DCh 31:0 RW Rst85 CPU scratch register SCU1DC bit[31:0]
1E0h 31:0 RW Rst86 CPU scratch register SCU1E0 bit[31:0]
1E4h 31:0 RW Rst86 CPU scratch register SCU1E4 bit[31:0]
1E8h 31:0 RW Rst86 CPU scratch register SCU1E8 bit[31:0]
1ECh 31:0 RW Rst86 CPU scratch register SCU1EC bit[31:0]
1F0h 31:0 RW Rst87 CPU scratch register SCU1F0 bit[31:0]
1F4h 31:0 RW Rst87 CPU scratch register SCU1F4 bit[31:0]
1F8h 31:0 RW Rst87 CPU scratch register SCU1F8 bit[31:0]
1FCh 31:0 RW Rst87 CPU scratch register SCU1FC bit[31:0]
SCU32C: Reserve
Offset: 32Ch Init = 0x00011320
Bit Attr. Reset Description
31:18 RO Rst105 Reserved
17:0 RW Rst105 Reserved
*+, -
)./ )*
! " # $
! " # $ ! " # $
! " # %$
! " # &$
! " # $ ! " # % $
! " # '$
Figure 41: MAC1 and MAC2 RGMII timing control block diagram
!"
#"$ %
$& "
'
"( #"$ % ) * %(+
Figure 42: MAC1 and MAC2 RMII timing control block diagram
Offset: 348h SCU348: MAC 12 Interface Clock Delay 100M Setting Init = 0
Bit R/W Reset Description
31:26 RO - Reserved(0)
25 RW Rst111 MAC#2 RXCLK 100M clock tree invere phase
24 RW Rst111 MAC#1 RXCLK 100M clock tree invere phase
23:18 RW Rst111 MAC#2 RGMII RXCLK 100M clock input delay
17:12 RW Rst111 MAC#1 RGMII RXCLK 100M clock input delay
11:6 RW Rst111 MAC#2 RGMII TXCLK 100M clock output delay
5:0 RW Rst111 MAC#1 RGMII TXCLK 100M clock output delay
Note :
This setting is a different option for RGMII 100M speed. Used when it requires different timing setting than SCU340
when working at 100M speed.
Offset: 34Ch SCU34C: MAC 12 Interface Clock Delay 10M Setting Init = 0
Bit R/W Reset Description
31:26 RO - Reserved(0)
25 RW Rst112 MAC#2 RXCLK 10M clock tree invere phase
24 RW Rst112 MAC#1 RXCLK 10M clock tree invere phase
23:18 RW Rst112 MAC#2 RGMII RXCLK 10M clock input delay
17:12 RW Rst112 MAC#1 RGMII RXCLK 10M clock input delay
11:6 RW Rst112 MAC#2 RGMII TXCLK 10M clock output delay
5:0 RW Rst112 MAC#1 RGMII TXCLK 10M clock output delay
Note :
This setting is a different option for RGMII 10M speed. Used when it requires different timing setting than SCU340
when working at 10M speed.
%()* + &
!%',-! '(
!"#
$#%!&
%' #
#. $#%!& / &. 0 10
/ &. 0 10
!"#
$#%!&
%' #
#. $#%!& / &. 0 10
/ &. 0 10
Figure 43: MAC3 and MAC4 RGMII timing control block diagram
!"
#"$ %
$& "
'
"( #"$ % ) * %(+ *, -, +
) * %(+ *, -, +
Figure 44: MAC3 and MAC4 RMII timing control block diagram
Offset: 358h SCU358: MAC 34 Interface Clock Delay 100M Setting Init = 0
Bit R/W Reset Description
31:26 RO - Reserved(0)
25 RW Rst114 MAC#4 RXCLK 100M clock tree invere phase
24 RW Rst114 MAC#3 RXCLK 100M clock tree invere phase
23:18 RW Rst114 MAC#4 RGMII RXCLK 100M clock input delay
17:12 RW Rst114 MAC#3 RGMII RXCLK 100M clock input delay
11:6 RW Rst114 MAC#4 RGMII TXCLK 100M clock output delay
5:0 RW Rst114 MAC#3 RGMII TXCLK 100M clock output delay
Note :
This setting is a different option for RGMII 100M speed. Used when it requires different timing setting than SCU48
when working at 100M speed.
Offset: 35Ch SCU35C: MAC 34 Interface Clock Delay 10M Setting Init = 0
Bit R/W Reset Description
31:26 RO - Reserved(0)
25 RW Rst115 MAC#4 RXCLK 10M clock tree invere phase
24 RW Rst115 MAC#3 RXCLK 10M clock tree invere phase
23:18 RW Rst115 MAC#4 RGMII RXCLK 10M clock input delay
17:12 RW Rst115 MAC#3 RGMII RXCLK 10M clock input delay
11:6 RW Rst115 MAC#4 RGMII TXCLK 10M clock output delay
5:0 RW Rst115 MAC#3 RGMII TXCLK 10M clock output delay
Note :
This setting is a different option for RGMII 10M speed. Used when it requires different timing setting than SCU48
when working at 10M speed.
Offset: 4F4h SCU4F4: UART Debug interface Baud Rate Control Init = 0x00600001
Bit R/W Reset Description
31:16 RW Rst146 Baud Rate divisor of password phase
15: 0 RW Rst146 Baud Rate divisor of normal phase
The minimum memory size required for the VGA high resolution mode shows as
below:
1280x1024x16bpp = 8MB
1600x1200x16bpp = 8MB
1680x1050x16bpp = 8MB
1920x1080x16bpp = 8MB
1920x1200x16bpp = 8MB
1280x1024x32bpp = 8MB
1600x1200x32bpp = 8MB
1680x1050x32bpp = 8MB
1920x1080x32bpp = 16MB
1920x1200x32bpp = 16MB
Here recommend to set the VGA memory size to 16MB otherwise VGA resolution
modes will be limited. ASPEED BSP will detect and set the VGA size to 16MB
when the VGA memory size is default value, 8MB.
to next page
Offset: 544h SCU544: Power Saving Wakeup Control Register (Reserved) Init = 0
Bit R/W Reset Description
31:9 RO - Reserved(0)
8:0 RW Rst155 Reserved
Offset: 550h SCU550: Power Saving Wakeup Enable Register (Reserved) Init = 0
Bit R/W Reset Description
31:10 RO - Reserved(0)
8:0 RW Rst156 Reserved
Offset: 5A0h SCU5A0: SCU Free Run Counter Read Back Init = 0
Offset: 5A4h SCU5A4: SCU Free Run Counter Extended Read Back Init = 0
Bit Attr. Reset Description
63:60 RO - Reserved (0)
59:0 RO RstPwr SCU free run counter bit[59:0] read back
The SCU free run counter is a 48-bit couter. Its value is reset by SRST# signal.
The counter tick is 25MHz. The counter read back is for reference since last
SRST#. It is not guaranteed to be glitch free when readback.
Offset: 820h SCU820: CA7 Processor Parity Check Control Register Init = 0
Bit R/W Reset Description
31: 5 RO - Reserved(0)
4 RW Rst172 SRAM Parity Check Enable
3: 1 RO - Reserved(0)
0 RW Rst172 CPU Cache Parity Check Enable
Offset: 824h SCU824: CA7 Processor Parity Clear Register Init = 0x1
Bit R/W Reset Description
31: 1 RO - Reserved(0)
0 RW Rst173 CA7 Parity Clear
Offset: A08h SCUA08: CM3 Instruction Memory Address Limit Register Init = 0
Bit R/W Reset Description
31:20 RW Rst176 Bit 31 20 of the upper bound DRAM base address for CM3 instruction
19:0 RO - Reserved(0)
Note :
This register can be only changed while CM3 is held in reset
Offset: A0Ch SCUA0C: CM3 Data Memory Address Limit Register Init = 0
Bit R/W Reset Description
31:20 RW Rst176 Bit 31 20 of the upper bound DRAM base address for CM3 data
19:0 RO - Reserved(0)
Note :
This register can be only changed while CM3 is held in reset
Offset: C20h SCUC20: PCI Express Configuration Setting Contol Register Init = 0x000C007B
Bit R/W Reset Description
31:22 RO - Reserved(0)
21 RW Rst183 Enable memory mapped LPC decode on BMC device
20 RW Rst183 Enable memory mapped LPC decode on VGA device
19 RW Rst183 Reserved
18 RW Rst183 Enable MSI on EHCI device
17 RW Rst183 Reserved
16 RW Rst183 Enable EHCI device (device 2)
15 RW Rst183 Enable E2L
14 RW Rst183 Enable PCI Express Bus Master on BMC device
13 RW Rst183 Enable interrupt on BMC device
12 RW Rst183 Reserved
11 RW Rst183 Enable MSI on BMC device
10 RW Rst183 Enable relocate LPC IO on BMC device
9 RW Rst183 Enable BMC MMIO on BMC device
8 RW Rst183 Enable BMC device (device 1)
7 RW Rst183 Disable MSI function on VGA device or BMC device
6 RW Rst183 Enable PCI Express Bus Master on VGA device
5 RW Rst183 Enable interrupt on VGA device
4 RW Rst183 Reserved
3 RW Rst183 Enable MSI on VGA device
2 RW Rst183 Enable relocate LPC IO decode on VGA device
1 RW Rst183 Enable BMC MMIO decode on VGA device
0 RW Rst183 Enable VGA device (PCI device 0 configuration registers)
Note :
This register must be initialized before PCI Express reset (PERST#) deasserted.
Offset: C28h SCUC28: First relocated controller decode area location Init = 0
Bit R/W Reset Description
31:12 RW Rst185 First relocated controller decode area location
11:0 RO - Reserved(0)
Offset: C2Ch SCUC2C: Second relocated controller decode area location Init = 0
Bit R/W Reset Description
31:12 RW Rst186 Second relocated controller decode area location
11:0 RO - Reserved(0)
Offset: C68h SCUC68: BMC device class code and revision ID Init = 0x0C070100
Bit R/W Reset Description
31:0 Rst192 RW BMC device class code and revision ID
HACE only implements 17 sets of 32-bit registers to program the various supported functions. The physical
address of these registers can be derived as the following:
25.2 Features
• Directly connected to AHB bus
• Register programming through AHB bus interface
• Supports Advanced Encryption Standard (AES) with options:
Offset: 00h HACE00: Crypto Data Source Base Address Register Init = X
Bit R/W Description
Scatter-Gather Mode
31 RO Reserved (0)
30:3 RW Base address of scatter-gather list for crypto source data[30:3] (8-byte aligned)
2 :0 RO Reserved (0)
Direct Access Mode
31 RO Reserved (0)
30:0 RW Base address of crypto source data[30:0] (byte aligned)
Note :
When crypto engine works in cascaded mode (Hash first, crypto second), HACE00 MUST equal to HACE20.
Offset: 04h HACE04: Crypto Data Destination Base Address Register Init = X
Bit R/W Description
Scatter-Gather Mode
31 RO Reserved (0)
30:3 RW Base address of scatter-gather list for crypto destination data[30:3] (8-byte aligned)
2 :0 RO Reserved (0)
Direct Access Mode
31 RO Reserved (0)
30:0 RW Base address of crypto destination data[30:0] (byte aligned)
Note :
When crypto engine works in cascaded mode (Crypto first, hash second), HACE04 MUST equal to HACE20.
Offset: 08h HACE08: Crypto Context Buffer Base Address Registerr Init = X
Bit R/W Description
31 RO Reserved (0)
30:3 RW Base address of crypto context buffer[30:3] (8-byte aligned)
2 :0 RO Reserved (0)
In AES-GCM mode, this register value is the lenght of the confidential data.
The maximum data length is up to (256MB-1) bytes for a RC4/AES/DES crypto command.
Function HACE10[8] HACE10[16] HACE10[6:4] Alignment Minimum
RC4 1 - 0 1-byte aligned 1h
AES (GCM) 0 0 5 1-byte aligned 0h
AES (others) 0 0 0,1,2,3,4 16-byte aligned 10h
DES 0 1 0,1,2,3,4 8-byte aligned 8h
Note :
When crypto engine works in cascaded mode, HACE0C MUST equal to HACE2C.
In cascaded mode, the programming of HACE10 [1:0] MUST be consistent with the pro-
gramming of HACE30 [1:0]. Otherwise, HACE may be trapped in a dead lock.
Offset: 14h HACE14: Crypto AES-GCM Additional Data Length Register Init = X
Bit R/W Description
31:28 RO Reserved (0)
27:0 RW Crypto AES-GCM additional data length (bytes)
0: 0 byte
1: 1 byte
2: 2 bytes
...
In AES-GCM mode, this register value is the lenght of the additional authenticated data.
The data length is from 0 byte to (256MB-1) bytes for an AES-GCM crypto command.
Note :
When setting HACE10[8] = 0, and HACE10[16] = 0, and HACE10[6:4] = 5 (AES-GCM mode), the crypto engine
would use this register.
Offset: 18h HACE18: Crypto AES-GCM Tag Write Buffer Base Address Register Init = X
Bit R/W Description
31 RO Reserved (0)
30:0 RW Base address of crypto AES-GCM Tag write buffer[30:0] (byte aligned)
The authentication tag of AES-GCM is 16 bytes.
Note :
When setting HACE10[8] = 0, and HACE10[16] = 0, and HACE10[6:4] = 5 (AES-GCM mode), and HACE10[21] = 0,
the crypto engine would use this register.
When write software tag interrupt is enabled, this bit will be set to ”1” when write value to
HAC software tag register.
Writing ”1” to this bit will clear this register.
14:13 RO Reserved (0)
12 RW Crypto interrupt flag
0: No interrupt
1: Interrupt is pending
When crypto command has been finished, this bit will be set to ”1”.
Writing ”1” to this bit will clear this register.
The HAC10[12] dsiable(”0”) or enable(”1”) Crypto interrupt event.
11:10 RO Reserved (0)
9 RW Hash interrupt flag
0: No interrupt
1: Interrupt is pending
When hash command has been finished, this bit will be set to ”1”.
Writing ”1” to this bit will clear this register.
The HAC30[9] dsiable(”0”) or enable(”1”) hash interrupt event.
8 :4 RO Reserved (0)
3 RO Command queue status flag
0: Command queue is idle
1: Command queue is busy
2 RO Reserved (0)
1 RO Crypto engine status flag
0: Crypto engine is idle
1: Crypto engine is busy
0 RO Hash engine status flag
0: Hash engine is idle
1: Hash engine is busy
Offset: 20h HACE20: Hash Data Source Base Address Register Init = X
Bit R/W Description
Scatter-Gather Mode
31 RO Reserved (0)
30:3 RW Base address of scatter-gather list for hash source data[30:3] (8-byte aligned)
to next page
Offset: 24h HACE24: Hash Digest Write Buffer Base Address Register Init = X
Bit R/W Description
31 RO Reserved (0)
30:3 RW Base address of hash digest write buffer[30:3] (8-byte aligned)
Algorithm Digest Digest write buffer
MD5 16 bytes 16 bytes
SHA-1 20 bytes 20 bytes
SHA-224 28 bytes 32 bytes
SHA-256 32 bytes 32 bytes
SHA-384 48 bytes 64 bytes
SHA-512 64 bytes 64 bytes
SHA-512/224 28 bytes 64 bytes
SHA-512/256 32 bytes 64 bytes
2 :0 RO Reserved (0)
Offset: 28h HACE28: Hash HMAC Key Buffer Base Address Register Init = X
Bit R/W Description
31 RO Reserved (0)
30:3 RW Base address of HMAC key buffer[30:2] (8-byte aligned)
2 :0 RO Reserved (0)
Note :
HMAC Key Buffer store the result of calculate HMAC key command (HACE30 [8:7] = 0x3).
See ”Hash Function Programming Sequence” for detail information.
Note :
When hash engine works in cascaded mode, HACE2C MUST equal to HACE0C.
When the HACE30 [8:7] = 3, the setting of HACE30 [18] must be in direct access mode.
17:15 RO Reserved (0)
14 RW Last block for accumulative mode
0: This command DON’T the last block for the accumulative mode
1: This command include the last block for the accumulative mode
Before setting this bit to value 1, the value of HACE34 should be ready.
13 RW First block for the accumulative mode
0: This command DON’T the first block for the accumulative mode
1: This command include the first block for the accumulative mode
12:10 RW SHA-512 series algorithm selection
000: Select SHA-512 algorithm
001: Select SHA-384 algorithm
010: Select SHA-512/256 algorithm
011: Select SHA-512/224 algorithm
100: Invalid
101: Invalid
110: Invalid
111: Invalid
to next page
When the HACE30 [8:7] = 2 or 3, the setting of HACE30 [1:0] must be in independent
mode.
6 :4 RW Hash algorithm selection
000: Select MD5 algorithm
001: Invalid
010: Select SHA-1 algorithm
011: Invalid
100: Select SHA-224 algorithm
101: Select SHA-256 algorithm
110: Select SHA-512 series algorithm
111: Invalid
When HACE30 [6:4] = 6, the HACE30 [12:10] must be setting to select the SHA-512 series
algorithm.
3 :2 RW Byte swapping control
00: Invalid
01: Byte swapping control for all MD5 hash commands (little-endian)
10: Byte swapping control for all SHA-1,SHA-224,SHA-256,SHA-384,SHA-512,SHA-
512/224,SHA-512/256 hash commands (big-endian)
11: Invalid
1 :0 RW Hash engine operation mode control
00: Hash engine works in independent mode
01: Hash engine works in independent mode
10: Hash engine works in cascaded mode (Crypto first, hash second)
11: Hash engine works in cascaded mode (Hash first, crypto second)
In cascaded mode, the programming of HACE10 [1:0] MUST be consistent with the pro-
gramming of HACE30 [1:0]. Otherwise, HACE may be trapped in a dead lock.
• Hash Digest Base Adr (8-byte aligned): Base address of hash digest write buffer.
– MD5 : Digest is 16 bytes, digest write buffer is 16 bytes
– SHA-1 : Digest is 20 bytes, digest write buffer is 20 bytes
– SHA-224 : Digest is 28 bytes, digest write buffer is 32 bytes
– SHA-256 : Digest is 32 bytes, digest write buffer is 32 bytes
– SHA-384 : Digest is 48 bytes, digest write buffer is 64 bytes
– SHA-512 : Digest is 64 bytes, digest write buffer is 64 bytes
– SHA-512/224 : Digest is 28 bytes, digest write buffer is 64 bytes
– SHA-512/256 : Digest is 32 bytes, digest write buffer is 64 bytes
• Hash Acc Digest W rite Buf f er (16-byte aligned): Accumulative hash digest write buffer.
– MD5 : Accumulative digest is 16 bytes, accumulative digest write buffer is 16 bytes
– SHA-1 : Accumulative digest is 20 bytes, accumulative digest write buffer is 20 bytes
– SHA-224 : Accumulative digest is 28 bytes, accumulative digest write buffer is 32 bytes
– SHA-256 : Accumulative digest is 32 bytes, accumulative digest write buffer is 32 bytes
– SHA-384 : Accumulative digest is 48 bytes, accumulative digest write buffer is 64 bytes
– SHA-512 : Accumulative digest is 64 bytes, accumulative digest write buffer is 64 bytes
– SHA-512/224 : Accumulative digest is 28 bytes, accumulative digest write buffer is 64 bytes
– SHA-512/256 : Accumulative digest is 32 bytes, accumulative digest write buffer is 64 bytes
• Hash Acc Digest Base Adr (16-byte aligned): Base address of accumulative hash digest write buffer
(Hash Acc Digest W rite Buf f er).
• Hash Input Size (byte aligned): Byte size of data buffer which want to calculate hash digest.
• Hash Acc Input Size (64-byte aligned)(128-byte aligned for SHA-512 series): Byte size of accumulative
data buffer which want to calculate accumulative hash digest.
• K0 Buf f er Base Adr (8-byte aligned): Base address of 64 byte (128 byte for SHA-512 series) K0
buffer.
• HM AC Key Buf f er Base Adr (16-byte aligned): Base address of 64 byte (128 byte for SHA-512
series) buffer which is used to store the result of calculate HMAC key command (HACE30 [8:7] = 3).
25.6.2 MD5,SHA-1,SHA-224,SHA-256,SHA-384,SHA-512,SHA-512/224,SHA-512/256
• Hash Input Data Base Adr (byte aligned)
• Hash Digest Base Adr (8-byte aligned)
• Hash Input Size (byte aligned)
Programming sequence ”Preparing K0 Buffer” & ”Calculating HMAC Key Buffer” are needed ONLY when se-
cret key are changed.
1. Preparing K0 Buffer:
Software need to prepare 64 byte (128 byte for SHA-512 series) K0 buffer from original secret key.
This sequence equal to step 1 ∼ 3 in Table 1 of ”FIPS PUB 198: The Keyed-Hash Message Authentica-
tion Code (HMAC)”, and the APPENDIX A has some examples.
1. Allocating & Initiating Accumulative Hash Digest Write Buffer (Hash Acc Digest W rite Buf f er):
This sequence is neeed ONLY before processing first accumulative data.
HMAC Key Buffer store the outcome of programming sequence ”Calculating HMAC Key Buffer”.
The HMAC Key Buffer must be ready before running this sequence.
HMAC Key Buffer store the outcome of programming sequence ”Calculating HMAC Key Buffer”.
The HMAC Key Buffer must be ready before running this sequence.
(a) When receiving the last accumulative data, software need to add Padding Message at the end of
the accumulative data. Padding Message is described in the specific of MD5,SHA-1,SHA-224,SHA-
256,SHA-384,SHA-512,SHA-512/224,SHA-512/256.
Let N be the totally byte size of accumulative data, the 64 bit length-column of Padding Message is:
RSA Engine supports 256 bits to 4096 bits RSA signature and verification.
Offset: 00h ECCRSA CTRL00: ECC and RSA Engine Control Init = 0x00000000
Bit R/W Description
31:7 RW Reserved
6 RW ECC DMA DATA : ECC Data DMA
5 RW ECC DMA PROG : ECC Program DMA
4 RW ECC START : Trigger ECC Engine
3:2 RW Reserved
1 RW RSA DMA DATA : RSA Data DMA
0 RW RSA START : Trigger RSA Engine
Offset: 44h ECCRSA CTRL17: ECC and RSA Engine Control Init = 0x00000000
Bit R/W Description
31:17 RW Reserved
16 RW ECC MUL LONG : Long Multiplier
15:13 RW Reserved
12 RW ECC FLAG F : FLAG field of F
11:9 RW Reserved
8 RW ECC MUL P : Parallel Multiplier
7:6 RW Reserved
5:4 RW ECC BITS : Prime Field Selection
00: NIST P-192 (default)
01: NIST P-224
10: NIST P-256
11: NIST P-384
3:0 RW ECC PROG IDX : ECC Program Entry Index
Offset: 48h ECCRSA CTRL18: ECC and RSA Engine Control Init = 0x00000000
Bit R/W Description
31:19 RW Reserved
18 RW RSA DMEM PD : RSA Data Memory Power Down
17 RW ECC DMEM PD : ECC Data Memory Power Down
16 RW ECC PMEM PD : ECC Program Memory Power Down
15:9 RW Reserved
8 RW ECC DMEM AHB : Set Data Memory for AHB Access Mode
to next page
27.2 Features
• Following state diagram in section 6.1 of IEEE 1149-1.
• Flexible instruction/data combination.
• Internal FIFO capability of 512 bits.
• Interrupt when data or instruction transmission complete or pause.
• Software mode to direct control TCK, TMS and TDI through APB register.
27.3 Registers
JTAG RSTN is Rst26 when JTAG Master 1 is using or Rst43 when JTAG Master 2 is using.
15 RW JTAG RSTN
TRST value
14:12 RW - Reserved
11: 0 RW JTAG RSTN
Clock divisor
TCK period = Period of HCLK * (JTAG34[10:0] + 1)
27.4 Operation
27.4.1 Mode of JTAG Master Controller
• Software mode. FW control TCK/TMC/TDI and monitor TDO directly by JTAG10
• Hardware mode 1. FW just needs to program data and length. HW will take care the rest. JTAG00
JTAG14
• Hardware mode 2. It’s similar to Hardware mode 1 except Hardware mode 2 is more efficient to daisy
chain devices. JTAG20 JTAG3C
For detail initiation sequence, please contact ASPEED for the sample code.
28.2 Features
• Support dynamic switching the triple DAC display output and VESA DisplayPort between VGA and SOC
Display Controller
• Support RGB565 and XRGB8888 graphics display mode
• Support hardware mono/color cursor
• Maximum display resolution without dedicated PLL: 1600x1200 32bpp@60Hz
• Maximum display resolution with dedicated PLL: 1920x1080 32bpp@60Hz
Offset: 70h GFX070: CRT Horizontal Total & Display Enable End Register Init = xxxxxxxxh
Bit R/W Description
12:0 RW CRT horizontal total bit[12:0] (-1)
15:13 RO Reserved
28:16 RW CRT horizontal display enable end bit[12:0] (-1)
31:29 RO Reserved
Offset: 74h GFX074: CRT Horizontal Retrace Start & End Register Init = xxxxxxxxh
Bit R/W Description
12:0 RW CRT horizontal retrace start bit[12:0] (-1)
15:13 RO Reserved
28:16 RW CRT horizontal retrace end bit[12:0] (-1)
31:29 RO Reserved
Offset: 78h GFX078: CRT Vertical Total & Display Enable End Register Init = 0xxx0xxxh
Bit R/W Description
11:0 RW CRT vertical total bit[11:0] (-1)
15:12 RO Reserved
27:16 RW CRT vertical display enable end bit[11:0] (-1)
31:28 RO Reserved
Offset: 7Ch GFX07C: CRT Vertical Retrace Start & End Register Init = 0xxx0xxxh
Bit R/W Description
11:0 RW CRT vertical retrace start bit[11:0] (-1)
15:12 RO Reserved
27:16 RW CRT vertical retrace end bit[11:0] (-1)
31:28 RO Reserved
Offset: 80h GFX080: CRT Display Starting Address Register Init = xxxxxxxxh
Bit R/W Description
0 RO Reserved
1 RW EnIntlAg: Enable interlace address display mode
2 RO Reserved
3 RO Reserved
30:4 RW CRT display starting address bit[30:4]
31 RO Reserved
Offset: 84h GFX084: CRT Display Offset & Terminal Count Register Init = 0xxxxxxxh
Bit R/W Description
3 :0 RO Reserved
15:4 RW CRT display offset bit[15:4]
28:16 RW CRT terminal count[12:0] (-0)
31:29 RO Reserved
Offset: 90h GFX090: CRT Hardware Cursor X & Y Offset Register Init = 0000xxxxh
Bit R/W Description
5:0 RW CRT hardware cursor X offset bit[5:0]
7:6 RO Reserved
13:8 RW CRT hardware cursor Y offset bit[5:0]
31:14 RO Reserved
Offset: 94h GFX094: CRT Hardware Cursor X & Y Position Register Init = 0xxxxxxxh
Bit R/W Description
12:0 RW CRT hardware cursor X position bit[12:0]
15:13 RO Reserved
27:16 RW CRT hardware cursor Y position bit[11:0]
Update cursor after writing this register
31:28 RO Reserved
Offset: 98h GFX098: CRT Hardware Cursor Pattern Address Register Init = xxxxxxxxh
Bit R/W Description
0 RO Reserved
1 RW EnIntlAc: Enable interlace address cursor mode
2 RO Reserved
3 RO Reserved
30:4 RW CRT hardware cursor pattern address bit[30:4]
31 RO Reserved
29.2 Features
• Independent descriptor space for BMC and HOST.
• Both BMC and HOST can transfer data upward or downward.
• Flexible interrupt target.
• Interrupt for complete and receive non-successful completion.
29.3 Registers
Offset: 00h XDMA00: HOST Command Queue Base Address [31:3] Init = 0
Bit R/W Reset Description
31:3 RW RstPE Base address of HOST command queue [31:3].
2 :1 RO - Reserved (0)
0 RW RstPE Enable HOST Command Queue 64 bit address mode
Offset: 04h XDMA04: HOST Command Queue Base Address [63:32] Init = X
Bit R/W Reset Description
31:0 RW RstPE Base address of HOST command queue [63:32].
Offset: 24h XDMA24: VGA Command Queue Base Address [31:3] Init = 0
Bit R/W Reset Description
31:3 RW RstPE Base address of HOST command queue [31:3].
2 :1 RO - Reserved (0)
0 RW RstPE Enable VGA Command Queue 64 bit address mode
Offset: 28h XDMA28: VGA Command Queue Base Address [63:32] Init = X
Bit R/W Reset Description
31:0 RW RstPE Base address of HOST command queue [63:32].
• Write XDMA3C[25] or XDMA3C[8] to clear Dirty Frame state of HOST command queue.
• Write XDMA3C[24] or XDMA3C[9] to clear Dirty Frame state of VGA command queue.
• For HOST initiating operation, Write XDMA3C[21] or XDMA3C[8] to clear Dirty Frame state.
• For VGA initiating operation, Write XDMA3C[22] or XDMA3C[9] to clear Dirty Frame state.
• For BMC initiating operation, Write XDMA3C[23] or XDMA3C[18] to clear Dirty Frame state.
30.2 Features
• Descriptor type DMA engine.
• Supports Maximum Payload Size of 512/256/128/64 bytes.
• Flexible for receiving all kinds of MsgD or MCTP only.
• Option of matching EID.
• Interrupt for receiving or sending complete.
• PCIe VDM Header is fully accessible.
30.3 Registers
Offset: 00h MCTP00: Engine Status and Engine Control Init = 0x00330000
Bit R/W Reset Description
31:24 RO Rst27 Current command count
23:22 RO - Reserved
21 RO Rst27 RX PCIe idle
20 RO Rst27 RX DMA idle
19:18 RO - Reserved
17 RO Rst27 TX PCIe idle
to next page
30.4 Command
30.4.1 TX command
30.4.2 RX buffer
30.5 Operation
30.5.1 Send Packet
1. Set proper address to MCTP04 or MCTP30.
2. Prepare command to address set to MCTP04 or MCTP30 one by one.
31.2 Features
• 10-bits resolution for 8x2 voltage channels.
• Channel scanning can be non-continuous.
• Internal or External reference voltage.
• Support 2 Internal reference voltage: 1.2v or 2.5v.
• Integrate dividing circuit for battery sensing.
Offset: 008h ADC008: ADC VGA Detect Control Init = 0x0000 000F
Bit R/W Reset Description
31:17 RO - Reserved
16 RW Rst51 ADC VGA detect enable
15: 0 RW Rst51 Divisor of ADC clock used for VGA detection
Period ADC clock = period of PCLK * 2 * (ADC008[15:0] + 1)
Offset: 108h ADC108: ADC VGA Detect Control Init = 0x0000 000F
Bit R/W Reset Description
31:17 RO - Reserved
16 RW Rst51 ADC VGA detect enable
15: 0 RW Rst51 Divisor of ADC clock used for VGA detection
Period ADC clock = period of PCLK * 2 * (ADC108[15:0] + 1)
31.4 Operation
31.4.1 Initialize Sequence
1. Set ADC000/ADC100 to 0x0000000F.
2. Wait bit 8 of ADC000/ADC100 to be set.
V1
R1
ADC
Input
R2
V2
32.2 Features
• Connect to AHB bus and PCIe RC.
• Flexible packet type for sending and receiving.
• Interrupt for receiving or sending complete
33.2 Features
• Supports 66, 50, 33, 25, and 20MHz of eSPI clock frequency.
• Supports Quad-, Dual-, and Single-IO mode.
• Supports both alert mode: shared IO or dedicated.
• Supports 4 channels.
• Peripheral Channel:
– Maximum payload size is 64 bytes.
• Virtual Wire Channel:
Offset: 010h ESPI010: DMA Address of Peripheral Channel Posted Rx Packet Init = 0
Bit R/W Description
31: 2 RW DMA Address of Peripheral Channel Posted Rx Packet
1: 0 RO Reserved
Offset: 018h ESPI018: Data port of Peripheral Channel Posted Rx Packet Init = 0
Bit R/W Description
31: 8 RO Reserved
7: 0 RO Data
Offset: 020h ESPI020: DMA Address of Peripheral Channel Posted Tx Packet Init = 0
Bit R/W Description
31: 2 RW DMA Address of Peripheral Channel Posted Tx Packet
1: 0 RO Reserved
Offset: 028h ESPI028: Data port of Peripheral Channel Posted Tx Packet Init = 0
Bit R/W Description
31: 8 - Reserved
7: 0 WO Data
Offset: 030h ESPI030: DMA Address of Peripheral Channel Non-Posted Tx Packet Init = 0
Bit R/W Description
31: 2 RW DMA Address of Peripheral Channel Non-Posted Tx Packet
1: 0 RO Reserved
Offset: 038h ESPI038: Data port of Peripheral Channel Non-Posted Tx Packet Init = 0
Bit R/W Description
31: 8 - Reserved
7: 0 WO Data
Offset: 084h ESPI084: Mapping Source Address of Peripheral Channel Rx Packet Init = 0
Bit R/W Description
31: 0 RW Mapping Source Address of Peripheral Channel Rx Packet
Offset: 088h ESPI088: Mapping Target Address of Peripheral Channel Rx Packet Init = 0
Bit R/W Description
31: 0 RW Mapping Target Address of Peripheral Channel Rx Packet
Offset: 08Ch ESPI08C: Mapping Address Mask of Peripheral Channel Rx Packet Init = 0xffff0001
Bit R/W Description
31:16 RW Mapping Address Mask of Peripheral Channel Rx Packet
15: 2 RO Reserved
1 RW1S Enable write protection of ESPI084, ESPI088, and ESPI08C
Make ESPI084, ESPI088, and ESPI08C not writable until RstFull.
0 RW Enable write protection of ESPICFG810, ESPICFG814, and ESPICFG818
Make ESPICFG810, ESPICFG814, and ESPICFG818 not writable until RstFull.
Offset: 090h ESPI090: Mapping Target Address and Mask of Flash Channel Init = 0x3000ff00
Bit R/W Description
31:24 RW Mapping Target Address of Flash Channel
23:16 RO Reserved
15: 8 RW Mapping Mask of Flash Channel
9: 1 RO Reserved
0 RW Enable write protection of ESPI090
Make ESPI090 not writable until PWRSTN.
Offset: 094h ESPI094: Interrupt enable of System Event from Master Init = 0
Bit R/W Description
31:11 RO Reserved
10 RW Enable Interrupt of NMI Out
9 RW Enable Interrupt of SMI Out
8 RW Enable Interrupt of Host Reset Warn
7 RO Reserved
6 RW Enable Interrupt of OOB Reset Warn
5 RW Enable Interrupt of PLTRSTN
4 RW Enable Interrupt of Suspend Status
3 RO Reserved
2 RW Enable Interrupt of S5 Sleep Control
1 RW Enable Interrupt of S4 Sleep Control
0 RW Enable Interrupt of S3 Sleep Control
Offset: 098h ESPI098: System Event from and to Master Init = 0x070c0600
Bit R/W Description
31:28 RO Reserved
27 RW Host Reset Acknowledge
26 RW Reset CPU Init#
25:24 RO Reserved
23 RW Slave Boot Status
22 RW Non-Fatal Error
21 RW Fatal Error
20 RW Slave Boot Done
19:17 RO Reserved
16 RW OOB Reset Acknowledge
15:11 RO Reserved
10 RO NMI Out
9 RO SMI Out
8 RO Host Reset Warn
7 RO Reserved
6 RO OOB Reset Warn
5 RO PLTRSTN
4 RO Suspend Status
3 RO Reserved
2 RO S5 Sleep Control
1 RO S4 Sleep Control
0 RO S3 Sleep Control
Offset: 0C4h ESPI0C4: GPIO Selection of Virtual Wire Channel Init = 0x03020100
Bit R/W Description
31:24 RO Select GPIO group for GPIO31 - GPIO24
0x00: GPIOA
0x01: GPIOB
0x02: GPIOC
0x03: GPIOD
0x04: GPIOE
0x05: GPIOF
0x06: GPIOG
0x07: GPIOH
0x08: GPIOI
0x09: GPIOJ
0x0A: GPIOK
0x0B: GPIOL
0x0C: GPIOM
0x0D: GPION
0x0E: GPIOO
0x0F: GPIOP
0x11: GPIOQ
0x12: GPIOR
0x13: GPIOS
0x14: GPIOT
0x15: GPIOU
0x16: GPIOV
0x17: GPIOW
0x18: GPIOX
0x19: GPIOY
0x1A: GPIOZ
0x1B: GPIOAA
0x1C: GPIOAB
0x1D: GPIOAC
23:16 RO Select GPIO group for GPIO23 - GPIO16
15: 8 RO Select GPIO group for GPIO15 - GPIO08
7: 0 RO Select GPIO group for GPIO07 - GPIO00
Offset: 0C8h ESPI0C8: GPIO Reset Selection of Virtual Wire Channel Init = 0
Bit R/W Description
31: 0 RO GPIO Reset Selection of Virtual Wire Channel
0b: Reset by eSPI Reset#
1b: Reset by PLTRSTN
Offset: 100h ESPI100: Interrupt enable of System Event 1 from Master Init = 0
Bit R/W Description
31:17 RO Reserved
16 RW Enable Interrput of Host C10
15: 8 RW Enable Interrput of PCH Generic
7: 6 RO Reserved
5 RW Enable Interrput of Wireless Lan Sleep Control
4 RW Enable Interrput of Lan Sleep Control
3 RW Enable Interrput of A# Sleep Control
2 RO Reserved
1 RW Enable Interrput of Suspend PowerDown Ack
0 RW Enable Interrput of Suspend Warn
Offset: 110h ESPI110: Interrupt type 0 of System Event from Master Init = 0
Bit R/W Description
31:11 RO Reserved
10 RW Interrupt type 0 of NMI Out
9 RW Interrupt type 0 of SMI Out
8 RW Interrupt type 0 of Host Reset Warn
7 RO Reserved
6 RW Interrupt type 0 of OOB Reset Warn
5 RW Interrupt type 0 of PLTRSTN
to next page
Offset: 114h ESPI114: Interrupt type 1 of System Event from Master Init = 0
Bit R/W Description
31:11 RO Reserved
10 RW Interrupt type 1 of NMI Out
9 RW Interrupt type 1 of SMI Out
8 RW Interrupt type 1 of Host Reset Warn
7 RO Reserved
6 RW Interrupt type 1 of OOB Reset Warn
5 RW Interrupt type 1 of PLTRSTN
4 RW Interrupt type 1 of Suspend Status
3 RO Reserved
2 RW Interrupt type 1 of S5 Sleep Control
1 RW Interrupt type 1 of S4 Sleep Control
0 RW Interrupt type 1 of S3 Sleep Control
Offset: 118h ESPI118: Interrupt type 2 of System Event from Master Init = 0
Bit R/W Description
31:11 RO Reserved
10 RW Interrupt type 2 of NMI Out
9 RW Interrupt type 2 of SMI Out
8 RW Interrupt type 2 of Host Reset Warn
7 RO Reserved
6 RW Interrupt type 2 of OOB Reset Warn
5 RW Interrupt type 2 of PLTRSTN
4 RW Interrupt type 2 of Suspend Status
3 RO Reserved
2 RW Interrupt type 2 of S5 Sleep Control
1 RW Interrupt type 2 of S4 Sleep Control
0 RW Interrupt type 2 of S3 Sleep Control
The definition of Interrupt Type 0, 1, and 2 are as follows :
Offset: 11Ch ESPI11C: Interrupt status of System Event from Master Init = 0
Bit R/W Description
31:11 RO Reserved
10 RW Interrupt status of NMI Out
Write 1 to clear.
9 RW Interrupt status of SMI Out
Write 1 to clear.
8 RW Interrupt status of Host Reset Warn
Write 1 to clear.
7 RO Reserved
6 RW Interrupt status of OOB Reset Warn
Write 1 to clear.
5 RW Interrupt status of PLTRSTN
Write 1 to clear.
4 RW Interrupt status of Suspend Status
Write 1 to clear.
3 RO Reserved
2 RW Interrupt status of S5 Sleep Control
Write 1 to clear.
1 RW Interrupt status of S4 Sleep Control
Write 1 to clear.
0 RW Interrupt status of S3 Sleep Control
Write 1 to clear.
Offset: 120h ESPI120: Interrupt type 0 of System Event 1 from Master Init = 0
Bit R/W Description
31:17 RO Reserved
16 RW Interrupt type 0 of Host C10
15: 8 RW Interrupt type 0 of PCH Generic
7: 6 RO Reserved
5 RW Interrupt type 0 of Wireless Lan Sleep Control
4 RW Interrupt type 0 of Lan Sleep Control
3 RW Interrupt type 0 of A# Sleep Control
2 RO Reserved
1 RW Interrupt type 0 of Suspend PowerDown Ack
0 RW Interrupt type 0 of Suspend Warn
Offset: 124h ESPI124: Interrupt type 1 of System Event 1 from Master Init = 0
Bit R/W Description
31:17 RO Reserved
16 RW Interrupt type 1 of Host C10
15: 8 RW Interrupt type 1 of PCH Generic
7: 6 RO Reserved
5 RW Interrupt type 1 of Wireless Lan Sleep Control
4 RW Interrupt type 1 of Lan Sleep Control
to next page
Offset: 128h ESPI128: Interrupt type 2 of System Event 1 from Master Init = 0
Bit R/W Description
31:17 RO Reserved
16 RW Interrupt type 2 of Host C10
15: 8 RW Interrupt type 2 of PCH Generic
7: 6 RO Reserved
5 RW Interrupt type 2 of Wireless Lan Sleep Control
4 RW Interrupt type 2 of Lan Sleep Control
3 RW Interrupt type 2 of A# Sleep Control
2 RO Reserved
1 RW Interrupt type 2 of Suspend PowerDown Ack
0 RW Interrupt type 2 of Suspend Warn
Offset: 12Ch ESPI12C: Interrupt status of System Event 1 from Master Init = 0
Bit R/W Description
31:17 RO Reserved
16 RW Interrupt status of Host C10
15: 8 RW Interrupt status of PCH Generic
7: 6 RO Reserved
5 RW Interrupt status of Wireless Lan Sleep Control
4 RW Interrupt status of Lan Sleep Control
3 RW Interrupt status of A# Sleep Control
2 RO Reserved
1 RW Interrupt status of Suspend PowerDown Ack
0 RW Interrupt status of Suspend Warn
Offset: 130h ESPI130: OOB Channel RX DMA Descriptor End Pointer Init = 0
Bit R/W Description
31:13 R Reserved
12: 0 RW DMA Descriptor End Pointer
Offset: 134h ESPI134: OOB Channel RX DMA Descriptor Read Pointer Init = 0
Bit R/W Description
31 RW DMA Descriptor Read Pointer Update
Write 1 to update DMA Descriptor Read Pointer
30:12 R Reserved
11: 0 RW DMA Descriptor Read Pointer
Offset: 138h ESPI138: OOB Channel RX DMA Descriptor Write Pointer Init = 0
Bit R/W Description
31 RW RX DMA Descriptor valid
30:28 R Reserved
27:16 RW DMA Descriptor Service Pointer
This pointer points to the end of serviced descriptor of RX.
15:12 R Reserved
11: 0 RW DMA Descriptor Write Pointer
This pointer points to the end of prepared descriptor of RX.
Offset: 140h ESPI140: OOB Channel TX DMA Descriptor End Pointer Init = 0
Bit R/W Description
31:13 R Reserved
12: 0 RW DMA Descriptor End Pointer
Offset: 144h ESPI144: OOB Channel TX DMA Descriptor Read Pointer Init = 0
Bit R/W Description
31 RW DMA Descriptor Read Pointer Update
Write 1 to update DMA Descriptor Read Pointer
30:12 R Reserved
11: 0 RW DMA Descriptor Read Pointer
Offset: 148h ESPI148: OOB Channel TX DMA Descriptor Write Pointer Init = 0
Bit R/W Description
31 W TX DMA Descriptor valid
30:12 R Reserved
11: 0 RW DMA Descriptor Write Pointer
Offset: 008h ESPICFG008: General Capabilities and Configurations Init = 030c 000f
Bit R/W Description
31 RW CRC Checking Enable.
30 RW Response Modifier Enable.
29 RO Reserved.
28 RW Alert Mode.
0: I/O[1] is used to signal the Alert event.
1: A dedicated Alert# pin is used to signal the Alert event.
27:26 RW I/O Mode Select.
00b: Single I/O.
01b: Dual I/O.
10b: Quad I/O.
11b: Reserved.
25:24 RO I/O Mode Support.
00b: Single I/O.
01b: Single and Dual I/O.
10b: Single and Quad I/O.
11b: Single, Dual and Quad I/O.
23 RW Open Drain Alert# Select
0b: Alert# pin is a driven output.
1b: Alert# pin is an open-drain output.
22:20 RW Operating Frequency.
000b: 20MHz.
001b: 25MHz.
010b: 33MHz.
011b: 50MHz.
100b: 66MHz.
Others: Reserved.
19 RO Alert# pin type status
1b: Open-drain Alert# pin is supported.
18:16 RO Maximum Frequency Supported.
000b: 20MHz.
001b: 25MHz.
010b: 33MHz.
011b: 50MHz.
100b: 66MHz.
Others: Reserved.
15:12 RW Maximum WAIT STATE Allowed.
11: 4 RO Reserved.
3: 0 RO Channel Supported.
Bit 0: Peripheral Channel.
Bit 1: Virtual Wire Channel.
Bit 2: OOB Message Channel.
Bit 3: Flash Access Channel.
Offset: 010h ESPICFG010: Channel 0 Capabilities and Configurations Init = 0000 1110
Bit R/W Description
31:15 RO Reserved.
to next page
Offset: 020h ESPICFG020: Channel 1 Capabilities and Configurations Init = 0000 0700
Bit R/W Description
31:22 RO Reserved.
27:16 RW Operating Maximum Virtual Wire Count.
15:14 RO Reserved.
13: 8 RW Maximum Virtual Wire Count Supported.
7: 2 RO Reserved.
1 RO Virtual Wire Channel Ready.
0 RW Virtual Wire Channel Enable.
Offset: 030h ESPICFG030: Channel 2 Capabilities and Configurations Init = 0000 0110
Bit R/W Description
31:11 RO Reserved.
to next page
Offset: 040h ESPICFG040: Channel 3 Capabilities and Configurations Init = 0003 1124
Bit R/W Description
31:15 RO Reserved.
14:12 RW Flash Access Channel Maximum Read Request Size.
000b: Reserved.
001b: 64 bytes address aligned max read request size.
010b: 128 bytes address aligned max read request size.
011b: 256 bytes address aligned max read request size.
100b: 512 bytes address aligned max read request size.
101b: 1024 bytes address aligned max read request size.
110b: 2048 bytes address aligned max read request size.
110b: 4096 bytes address aligned max read request size.
11 RW Flash Sharing Mode.
0: Master attached flash sharing.
1: Slave attached flash sharing.
10: 8 RW Flash Access Channel Maximum Payload Size Selected.
000b: Reserved.
001b: 64 bytes max payload size.
010b: 128 bytes max payload size.
011b: 256 bytes max payload size.
100b: Reserved.
101b: Reserved.
110b: Reserved.
110b: Reserved.
to next page
Offset: 044h ESPICFG044: Channel 3 Capabilities and Configurations 2 Init = 0000 4401
Bit R/W Description
31:22 RO Reserved.
21:16 RO Target RPMC Supported.
0h: Slave does not support RPMC.
1h: Slave supports up to 1 RPMC.
2h: Slave supports up to 2 RPMC.
...
3fh: Slave supports up to 63 RPMC.
15: 8 RO Target Flash Erase Block Size for Master’s Regions.
Bit 0: 1 Kbytes EBS supported.
Bit 1: 2 Kbytes EBS supported.
Bit 2: 4 Kbytes EBS supported.
Bit 3: 8 Kbytes EBS supported.
Bit 4: 16 Kbytes EBS supported.
Bit 5: 32 Kbytes EBS supported.
Bit 6: 64 Kbytes EBS supported.
Bit 7: 128 Kbytes EBS supported.
7: 3 RO Reserved.
2: 0 RO Target Maximum Read Request Size Supported.
000b: 64 byts max read request size.
001b: 64 byts max read request size.
010b: 128 byts max read request size.
011b: 256 byts max read request size.
100b: 512 byts max read request size.
101b: 1024 byts max read request size.
110b: 2048 byts max read request size.
111b: 4096 byts max read request size.
Offset: 808h ESPICFG808: GPIO Reset Selection of Virtual Wire Channel Init = 0
Bit R/W Description
31: 0 RW Reset Seletion of GPIO.
0: eSPI Reset#
1: Platform Reset
Offset: 810h ESPICFG810: Mapping Source Address of Peripheral Channel Rx Packet Init = 0
Bit R/W Description
31: 0 RW Mapping Source Address of Peripheral Channel Rx Packet.
Offset: 814h ESPICFG814: Mapping Target Address of Peripheral Channel Rx Packet Init = 0
Bit R/W Description
31: 0 RW Mapping Target Address of Peripheral Channel Rx Packet.
Offset: 818h ESPICFG818: Mapping Address Mask of Peripheral Channel Rx Packet Init = ffff 0000
Bit R/W Description
31: 0 RW Mapping Source Address of Peripheral Channel Rx Packet.
• When a memory write or memory read is received, the address in packet must follow rules below.
Response non-fatal error if otherwise.
– Addr in packet & ESPICFG818 == ESPICFG810 & ESPICFG818.
• The mapped address is like below:
– Target Addr = (Addr in packet & ∼ESPICFG818) k (ESPICFG814 & ESPICFG818).
Example
– In channel 0, only message, message with data, and all kinds of completion will follow this proce-
dure.
IO and memory access is automatically finished.
• Channel 1
1. When received a packet of channel 1, bit 8 or 9 of ESPI00 will be set.
If corresponding bit in ESPI0C is also set, an interrupt is generated.
2. The system events will goes to ESPI98 and GPIO goes to ESPI9C.
34.2 Features
• Supporting total size is from 64KB to 8MB.
• Supporting maximum instance is 8.
• Supporting instance size is from 8KB to 1MB.
• Maximum N is 7
• X is from 4KB to 32KB.
• Each instance occupies 2*X bytes.
• First max 8 bytes of Host2BMC are RO from BMC. The rest is RW.
Unlock SRAM with slow timing: Write 0xdba0 78e2 to this register (recom-
mended)
Unlock SRAM with fast timing: Write 0xdba0 78e0 to this register
Lock SRAM: Write other values to this register
When this SRAM is unlocked with slow timing, the read back value of this register
is 0x0000 0003.
When this SRAM is unlocked with fast timing, the read back value of this register
is 0x0000 0001.
When this SRAM is locked, the read back value of this register is 0x0000 0000.
This register will be reset by power on reset, watch dog reset and SCU software
reset. Software must wait minimum 1us to unlock the key after reset signal de-
asserted.
Video Engine implements many registers to program the various supported features. The physical address of
these registers can be derived as the following:
36.2 Features
• Buiilt-in Hardware video compression engine that can reduce CPU loading
• Directly connected to AHB bus interface for register programming
• Directly accessible video data through M-Bus
• Video source can come from internal VGA or external DVO input
• Engine clock can be the same as CPU clock or memory clock
• Internal VGA mode:
– Video capture mode: capture internal VGA RGB digital signals (Applied to legacy VGA display
modes, like text modes or 16/256 color VGA modes)
– Quick fetch mode: directly fetch RGB video data from VGA frame buffer (Applied to 16bpp and
32bpp VGA modes when memory bandwidth is limited.)
• Engine clock can be turned off when engine is idle
• Support two video compression quality modes
– YUV420: for lower video quality but higher compression ratio
– YUV444: for higher video quality but lower compression ratio
• Support two video compression formats
– ASPEED proprietary compression mode: for multi-frame and differentical compression
– JPEG JFIF standard mode: for single frame and management compression
• Support high resolution video compression up to 1920x1200x32bpp@60Hz
• Target frame rate: 30 frame/sec for 1280x1024@60Hz under YUV420 compression format
• Support independent management view capturing for special purpose like last frame recording.
• Support Quick fetch for video compression
– Significantly reduces memory bandwidth requirements for video compression
– Only enabled for high resolution modes (high color and true color modes)
– Quick Cursor must be enabled (cursor overlay will be done in client site)
– Regular VGA display refreshes can be turned off to save power and to reduce DRAM utilization rate
• Support arbitrary video down scaling with horizontal & vertical video filtering option (4x2 spatial filter)
• Integrate AES, RC4 encryption engine for video stream encryption
– 1 set of loadable 256x8 SRAM for expanded key buffers
– Key expansion is done by firmware
– Provide enable/disable option
• Support two-pass (high quality) video compression scheme (Patent pending by ASPEED)
– Applied for both YUV444 and YUV420 video format
– Provide visually lossless video compression quality or to reduce the network average loading under
intranet KVM applications
• Support smart video mode detection functions
• Support video mode watch dog interrupt when source video mode changes
• Support programmable bit resolution truncation to input video data
• Support 12 selectable pre-defined JPEG quality levels
• Support programmable selectable JPEG quality levels
• Support video auto stream mode and single frame trigger mode
• Support ring buffer mode and descriptor DMA buffer mode
• Support multi-JPEG compression mode with single trigger
When this register is unlocked, the read back value of this register is 0x0000 0001.
When this register is locked, the read back value of this register is 0x0000 0000.
This register will be reset by power on reset, watch dog reset and SCU software
reset. Software must wait minimum 1us to unlock the key after reset signal de-
asserted.
Software must set this bit first before setting the trigger register VR004[4].
to next page
Software must insert at least one read cycle or 1us delay time between the con-
tinuous trigger register setting.
Software must make sure that the VR004[18] is ’1’ before triggering this bit.
3 RW Rst17 Enable capturing multiple frames
0: Capturing single frame
1: Capture multiple frames
AST2600 can allocate double buffers for the video capture engine to continuously
capture multiple frames. Capturing multiple frames can improve video perfor-
mance. Allocating double buffers is required before enabling this register.
Software must set this bit first before setting the trigger register VR004[1].
2 RW Rst17 Force video compression engine Idle
0: No operation
1: Force compression engine to enter idle state
This register is used by software to force compression engine to enter idle state
only when capture engine is idle and compression engine hangs up.
1 RW1T Rst17 Enable or trigger video capture
0: When video capture is idle: no operation
0: When video capture is not idle and in capture multiple frames mode
(VR004[3]=1): Capture engine will stop when the last video frame in completely
captured.
0→1: Trigger video capture when capture single frame mode
Setting this register from 0 to 1 will trigger video capture engine to capture either
single or multiple video frames, depending on the setting of VR004[3]. Video
capture engine will stop capturing video at the end of a frame whenever this
register is reset to 0.
Software must insert at least one read cycle or 1us delay time between continuous
triggering register setting.
Software must make sure that the VR004[16] is ’1’ before trigger this bit.
0 RW1T Rst17 Trigger video mode detection hardware
0: No operation
0→1: Trigger video mode detection
1: Enable mode dectection hardware
Setting this register from 0 to 1 will trigger the video mode detection hardware to
detect a video mode based on the input video source.
When a stable video mode has been detected, the hardware will set the corre-
sponding flag for status read back. And the related video parameters generated
by the hardware can also be read back from the related registers. An optional
interrupt is also available.
Software must insert at least one read cycle or 1us delay time between continuous
trigger register setting.
to next page
23:16 RW Rst17 Maximum frame rate control for the video capture
When this register is reset to 0x00, capture engine will try to capture all the input
frames, if memory and network bandwidth is sufficient for doing that. When this
register is set to a non-zero value, video capture engine will skip some frames to
reduce memory and network bandwidth. The maximum frame rate will be:
Maximum frame rate = (VR008[23:16]) * (Source frame rate) / 60.
15 RW Rst17 HSYNC polarity control for mode detection
0: Normal HSYNC
1: Inverted HSYNC polarity for mode detection
14 RW Rst17 Video source interlace mode
0: Capture source is in the progressive mode
1: Capture source is in the interlace mode
13:12 RW Rst17 Reserved
This register must be always ”0”
to next page
(Vertical window size of output video) = (Veridical window size of input video)
* 4096 / (Vertical scaling factor)
15:0 RW - Horizontal down scaling factor
The setting value of this register must be equal to or larger than 4096. All the
active pixels will be kept. When the setting value is larger, the output video
window size will be smaller. The formula is as the fowling:
(Horizontal window size of output video) = (Horizontal window size of input video)
* 4096 / (Horizontal scaling factor)
VR040: Video Base Address of JPEG Header Buffer Register when VR004[13]=1
Offset: 040h Init = X
Bit Attr. Reset Description
31:30 RO - Reserved (0)
to next page
The left 4 bits of this register (VR060[30:27]) will determine which one of the se-
lected 12 tables will be used for quantizing the luminance DCT coefficients.
0000: Table #0
0001: Table #1
...
1011: Table #11
Others: Invalid
26:22 RW Rst17 High quality DCT chrominance quantization table (VR060[2]=0)
This register determines how the DCT engine executes DCT quantization for
the luminance DCT coefficients of each block. There are 12 DCT luminance
quantization tables and 12 DCT chrominance quantization tables implemented in
the DCT engine. The first bit of this register (VR060[26]) determines whether the
12 DCT luminance quantization tables or the 12 DCT chrominance quantization
tables will be referred.
0: Select one of the 12 DCT luminance quantization tables (Table #0 ∼ Table #11)
1: Select one of the 12 DCT chrominance quantization tables (Table #0 ∼ Table
#11)
The left 4 bits of this register (VR060[25:22]) will determine which one of the se-
lected 12 tables will be used for quantizing the luminance DCT coefficients.
0000: Table #0
0001: Table #1
...
1011: Table #11
Others: Invalid
21:20 RW Rst17 DCT Huffman encoding table selection
00: Select Y and UV tables
01: Select Y table only
1x: Select UV table only
In most of the cases, ”00” is recommended.
to next page
The left 4 bits of this register (VR060[14:11]) will determine which one of the se-
lected 12 tables will be used for quantizing the luminance DCT coefficients.
0000: Table #0
0001: Table #1
...
1011: Table #11
Others: Invalid
These tables can be applied to both YUV420 and YUV444 video compression.
VR060[15:11] must be 0 when VR300[18]=1
10:6 RW Rst17 DCT chrominance quantization table selection
This register determines how DCT engine executes DCT quantization for the
chrominance DCT coefficients of each block. There are 12 DCT luminance
quantization tables and 12 DCT chrominance quantization tables implemented
in DCT engine. The first bit of this register (VR060[10]) determines whether the
12 DCT luminance quantization tables or the 12 DCT chrominance quantization
tables will be referenced.
0: Select one of the 12 DCT luminance quantization tables (Table #0 ∼ Table #11)
1: Select one of the 12 DCT chrominance quantization tables (Table #0 ∼ Table
#11)
The left 4 bits of this register (VR060[9:6]) will determine which one of the selected
12 tables will be used for quantizing the chrominance DCT coefficients.
0000: Table #0
0001: Table #1
...
1011: Table #11
Others: Invalid
These tables can be applied to both YUV420 and YUV444 video compression.
to next page
VR070: Video Total Size of Compressed Video Stream Read Back Register
Offset: 070h Init = 0
Bit Attr. Reset Description
31:22 RO - Reserved (0)
21:0 RO Rst17 Total size of compressed video stream
This register reports the total length of compressed video stream already stored
in the compressed video stream buffer for a video frame. The unit is one double
word.
VR074: Video Total Number of Compressed Video Blocks Read Back Register
Offset: 074h Init = X
Bit Attr. Reset Description
31:16 RO - Compressed block counter read back (number of blocks)
This register reports the number of video blocks have been compressed into the
video compressed stream buffer for a video frame.
15:0 RO - Processed total block counter read back (number of blocks)
This register reports the total number of video blocks have been processed by
video engine
Note :
This register is applicable at YUV420 mode is 16 pixels x16 pixels block size.
VR078: Video Frame-End Offset of Compressed Video Stream Buffer Read Back Register
Offset: 078h Init = 0
Bit Attr. Reset Description
31:24 RO - Reserved (0)
23:4 RO Rst17 Frame-end offset of compressed video stream buffer Bit [23:4]
This register reports the frame-end offset of the compressed video stream buffer.
Adding the value of this register with the base address of the compressed video
stream buffer (VR054) can derive the last address of the last video stream data
for the last compressed frame. The bit [3:0] should be 0.
3 :0 RO - Reserved (0)
VR080: Video User Defined Header Parameter Setting Register when Compression
Offset: 080h Init = X
Bit Attr. Reset Description
31:16 RO - Reserved (0)
15:0 RW - User defined header parameter[15:0]
This register data will be inserted into every stream frame header and is supported
for ASPEED proprietary compression mode only.
Offset: 088h VR088: SCU Free Run Counter Read Back Init = 0
Offset: 08Ch VR08C: SCU Free Run Counter Extended Read Back Init = 0
Bit Attr. Reset Description
63:48 RO - Reserved (0)
47:0 RO RstPwr SCU free run counter bit[47:0] read back
The SCU free run counter is a 48-bit couter. Its value is reset by SRST# signal.
The counter tick is 25MHz. The counter read back is for reference since last
SRST#. It is not guaranteed to be glitch free when readback.
VR0B8: Video Source Left/Right Edge Detection 4K2K Read Back Register (re-mapping from VR090)
Offset: 0B8h Init = X
Bit Attr. Reset Description
31:29 RO - Reserved (0)
28:16 RO - Video source right edge location from the rising edge of HSYNC Bit [12:0]
15:13 RO - Reserved (0)
12:0 RO - Video source left edge location from the rising edge of HSYNC Bit [12:0]
VR0BC: Video Mode Detection Status 4K2K Read Back Register (re-mapping from VR098)
Offset: 0BCh Init = X
Bit Attr. Reset Description
31:29 RO - Reserved (0)
28:16 RW - Video mode detection vertical counter Bit [12:0]
read: After mode detection is ready, the read back value is the detected VSYNC
period which is in unit of line.
write: The write value will initialize the mode detection watch dog VSYNC period
which is in unit of line.
Only double word write access is allowed. After the value is written, the software
need to read the register
and make sure the value is written successfully.
15:13 RO - Reserved (0)
12:0 RW - Video mode detection horizontal counter Bit [12:0]
read: After mode detection is ready, the read back value is the detected VSYNC
period which is in unit of line.
write: The write value will initialize the mode detection watch dog VSYNC period
which is in unit of line.
Only double word write access is allowed. After the value is written, the software
need to read the register
and make sure the value is written successfully.
VR0D4: Video BCD Mode Bounding Box Detection Read Back Register 1
Offset: 0D4h Init = X
Bit Attr. Reset Description
31:26 RO Rst17 Reserved (0)
25:16 RO Rst17 Block change bounding box right edge
This register reports the right edge of bounding box of the result of block change
detection (BCD). It is the coordinate of macro block.
15:10 RO - Reserved (0)
9:0 RO Rst17 Block change bounding box left edge
This register reports the left edge of bounding box of the result of block change
detection (BCD). It is the coordinate of macro block.
VR0D8: Video BCD Mode Bounding Box Detection Read Back Register 2
Offset: 0D4h Init = X
Bit Attr. Reset Description
31:26 RO Rst17 Reserved (0)
25:16 RO Rst17 Block change bounding box bottom edge
This register reports the bottom edge of bounding box of the result of block change
detection (BCD). It is the coordinate of macro block.
15:10 RO - Reserved (0)
9:0 RO Rst17 Block change bounding box top edge
This register reports the top edge of bounding box of the result of block change
detection (BCD). It is the coordinate of macro block.
VR248: Video Management Scan Line Offset of Video Source Buffer Register
Offset: 248h Init = X
Bit Attr. Reset Description
31:15 RO - Reserved (0)
14:4 RW - Scan line offset of the video source buffer Bit [14:4]
This register determines the scan line offset (memory address distance) of video
source buffer #1 and buffer #2 from one scan line to the next scan line. The
address bit [3:0] should be 0.
3 :0 RO - Reserved (0)
Note :
This is the offset address from line to line. The address bit [3:0] should be 0. The buffer offset 0 can be calculated
from the horizontal total pixel number * 4bpp. The horizontal pixel number must be a multiplier of 8. If the real pixel
number is not a multiplier of 8, please select the smallest number which is a multiplier of 8 and greater than the pixel
number.
VR260: Video Management Compression or Video Profile 2-5 Decompression Control Register
Offset: 260h Init = 0
Bit Attr. Reset Description
31:16 RW Rst17 Reserved (0)
15:11 RW Rst17 DCT luminance quantization table selection
This register determines how the DCT engine executes DCT quantization for
the luminance DCT coefficients of each block. There are 12 DCT luminance
quantization tables and 12 DCT chrominance quantization tables implemented
in DCT engine. The first bit of this register (VR260[15]) determines whether the
12 DCT luminance quantization tables or the 12 DCT chrominance quantization
tables will be referred.
0: Select one of the 12 DCT luminance quantization tables (Table #0 ∼ Table #11)
1: Select one of the 12 DCT chrominance quantization tables (Table #0 ∼ Table
#11)
The left 4 bits of this register (VR260[14:11]) will determine which one of the se-
lected 12 tables will be used for quantizing the luminance DCT coefficients.
0000: Table #0
0001: Table #1
...
1011: Table #11
Others: Invalid
These tables can be applied to both YUV420 and YUV444 video compression.
10:6 RW Rst17 DCT chrominance quantization table selection
This register determines how the DCT engine executes DCT quantization for
the chrominance DCT coefficients of each block. There are 12 DCT luminance
quantization tables and 12 DCT chrominance quantization tables implemented
in DCT engine. The first bit of this register (VR260[10]) determines whether the
12 DCT luminance quantization tables or the 12 DCT chrominance quantization
tables will be referred.
0: Select one of the 12 DCT luminance quantization tables (Table #0 ∼ Table #11)
1: Select one of the 12 DCT chrominance quantization tables (Table #0 ∼ Table
#11)
The left 4 bits of this register (VR260[9:6]) will determine which one of the selected
12 tables will be used for quantizing the chrominance DCT coefficients.
0000: Table #0
0001: Table #1
...
1011: Table #11
Others: Invalid
These tables can be applied to both YUV420 and YUV444 video compression.
5 :2 RW Rst17 Reserved
This register must be always ”0”.
1 RW Rst17 Reserved
This register must be always ”0”.
0 RW Rst17 Reserved
This register can be ”0” or ”1”.
VR270: Video Management Total Size of Compressed Video Stream Read Back Register
Offset: 270h Init = 0
Bit Attr. Reset Description
31:22 RO - Reserved (0)
21:0 RO Rst17 Total size of compressed video stream
This register reports the total length of compressed video stream already stored
in the compressed video stream buffer for a video frame. The unit is one double
word.
VR278: Video Management Frame-End Offset of Compressed Video Stream Buffer Read Back Register
Offset: 278h Init = X
Bit Attr. Reset Description
31:22 RO - Reserved (0)
21:3 RO Rst17 Frame-end offset of compressed video stream buffer Bit [21:3]
This register reports the frame-end offset of the compressed video stream buffer.
Adding the value of this register with the base address of the compressed video
stream buffer (VR054) can derive the last address of the last video stream data
for the last compressed frame. The bit [2:0] should be 0.
2 :0 RO - Reserved (0)
VR280: Video Management User Defined Header Parameter Setting Register when Compression
Offset: 280h Init = X
Bit Attr. Reset Description
31:16 RO - Reserved (0)
15:0 RW - User defined header parameter[15:0]
This register data will be inserted into every stream frame header and is supported
for ASPEED proprietary compression mode only.
VR400 ∼ VR5FC: Video Quantization Table and Inverse Quantization Table #0 ∼ #63
Offset: 400∼5FCh Init = X
Bit Attr. Reset Description
31:0 RW - Quantization table SRAM
The address map to quantization table when VR300[30]=1 and VR300[31]=0
6:0 W - Reserved
31 RO - Reserved
to next page
• D[3:0]
– New Color Mode
VGACR8D: (VIDEO:1E70:034D)
• D[3:0]
– Refresh Rate Index
VGACR8E: (VIDEO:1E70:034E)
• D[7:0]: MODE ID
VGACR8F: (VIDEO:1E70:034F)
• D[4]:
– 0b: disable VSync
– 1b: enable VSync
• D[0]: SOC RTC Initial Status (Have effects only if VBIOS init. SOC RTC)
– 0b: not ready
– 1b: ready
VGACR91: New Mode Info Header (VIDEO:1E70:0351) (New Mode Info Scratched)
• D[7:0]: 0xA8
VGACR92: (VIDEO:1E70:0352) (New Mode Info Scratched)
• D[7:0]: Color Depth (set to 0 if the color depth is below then 8bpp)
VGACR93: (VIDEO:1E70:0353) (New Mode Info Scratched)
• D[7:0]: Pixel Clock (MHz)
VGACR94: (VIDEO:1E70:0354) (New Mode Info Scratched)
• D[7:0]: HDE D[7:0]
VGACR95: (VIDEO:1E70:0355) (New Mode Info Scratched)
37.2 Registers
38.2 Features
• Each slots is compatible to
– SD Memory Card Version 3.00
– EMMC Version 3.00
– eMMC Version 5.1
• Support 2 slots.
• Slot 0 supports SD1/SD4 or eMMC1/eMMC4/eMMC8 modes of operation
• Slot 1 supports SD1/SD4 or eMMC1/eMMC4 modes of operation
• Indepent clock/configuration for each slot.
• Indepent register set for each slot.
• Integrated ADMA2 controllers.
• Master device side clock and each slot’s clock can be switched off.
SDMCLK SDCLK
HCLK
SCU310 SDIO12C SD
APLL [30:28] [15:8] Card
SCU310[8]
Figure 46: Clock structure of SD interface
39.2 Features
• Compatibility
– SD Memory Card Version 3.00
– EMMC Version 3.00
– eMMC Version 5.1
• Support 1 slot.
• SD1/SD4 or eMMC1/eMMC4/eMMC8 modes of operation
• Integrated ADMA2 controllers.
• Master device side clock and slot’s clock can be switched off.
eMMCCLK
HPLL/2
SCU300 EMMC12
[14:12] C[15:8] eMMC
MPLL
SCU300[11]
Figure 47: Clock structure of eMMC interface
Parallel GPIO
Each GPIO sets can be programmed to accept command from Coprocessor CPU, LPC or ARM.
• All GPIO pins can be programmed to support the following options:
– Input or output option (input mode or output mode)
– Interrupt generation option (enabled or disabled interrupt generation)
– Interrupt sensitivity option (level-high, level-low, rising-edge, falling-edge or both-edge trigger mode)
– Interrupt direction option (ARM or LPC)
– WDT reset tolerance (for non-interrupted related registers only)
– De-bouncing option (0ms, 1ms, 5ms or 10ms de-bouncing)
– Input mask
1.8V Parallel GPIO
Each GPIO sets can be programmed to accept command from Coprocessor CPU, LPC or ARM.
• All GPIO pins can be programmed to support the following options:
– Input or output option (input mode or output mode)
– Interrupt generation option (enabled or disabled interrupt generation)
– Interrupt sensitivity option (level-high, level-low, rising-edge, falling-edge or both-edge trigger mode)
– Interrupt direction option (ARM or LPC)
– WDT reset tolerance (for non-interrupted related registers only)
– De-bouncing option (0ms, 1ms, 5ms or 10ms de-bouncing)
– Input mask
Serial GPIO Master
Each Serial GPIO input pins can be programmed to support the following options:
• Directly connected to APB bus
• Co-work with external serial-chained TTL components (74LV165/74LV595)
• Support 2 master. One is up to 128 SGPIO input ports and 128 output ports concurrently and Second
one is up to 80.
• Each of them is only at the cost of 4 control pins
• Shift clock is from APB bus clock divided by a programmable value.
• Programmable shift-load clock length (8/16/24/32/40/48/56/64/72/80 clocks)
• Support interrupt option for each input port
• Support interrupt sensitivity option: Level-High, Level-Low, Edge-High, Edge-Low
• Support reset tolerance option for each output port
Parallel GPIO implements 59 sets of 32-bit registers, which are listed below, to program the various supported
functions including input/output mode, interrupt sensitivity, WDT tolerance, and de-bouncing options. Each
register has its own specific offset value, ranging from 0x00 to 0x128h to derive its physical address location.
41.2 Features
41.2.1 Parallel GPIO
• Directly connected to APB bus
• Programmable reset tolerance option for all GIPO pin.
• Support interrupt triggered by all GPIO pins.
• All input pin is with de-bouncing logic option.
• Default internal pull-down resistors for each GPIO pins
• Need external pull-up resistors
• Maximum 32 drives.
Data Register
Interrupt
Read Write
Status
GPIO
Input Data Output Data
Register Register
Interrupt Debounce
Interrupt
Sensitivity Input mask Setting
Enable
Type 0,1,2 #1,#2
Offset: 00Ch GPIO00C: GPIO A/B/C/D Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOD[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
23:16 RW Port GPIOC[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
15:8 RW Port GPIOB[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
7 :0 RW Port GPIOA[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
Offset: 010h GPIO010: GPIO A/B/C/D Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOD[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
23:16 RW Port GPIOC[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
15:8 RW Port GPIOB[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
7 :0 RW Port GPIOA[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
Offset: 014h GPIO014: GPIO A/B/C/D Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOD[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
23:16 RW Port GPIOC[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
15:8 RW Port GPIOB[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port GPIOA[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 02Ch GPIO02C: GPIO E/F/G/H Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOH[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
23:16 RW Port GPIOG[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
15:8 RW Port GPIOF[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
7 :0 RW Port GPIOE[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
Offset: 030h GPIO030: GPIO E/F/G/H Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOH[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
23:16 RW Port GPIOG[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
15:8 RW Port GPIOF[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
7 :0 RW Port GPIOE[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
Offset: 034h GPIO034: GPIO E/F/G/H Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOH[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
23:16 RW Port GPIOG[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
15:8 RW Port GPIOF[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port GPIOE[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 09Ch GPIO09C: GPIO I/J/K/L Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOL[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
to next page
Offset: 0A0h GPIO0A0: GPIO I/J/K/L Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOL[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
23:16 RW Port GPIOK[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
15:8 RW Port GPIOJ[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
7 :0 RW Port GPIOI[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
Offset: 0A4h GPIO0A4: GPIO I/J/K/L Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOL[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
23:16 RW Port GPIOK[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
15:8 RW Port GPIOJ[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port GPIOI[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 0ECh GPIO0EC: GPIO M/N/O/P Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOP[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
23:16 RW Port GPIOO[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
15:8 RW Port GPION[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
7 :0 RW Port GPIOM[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
Offset: 0F0h GPIO0F0: GPIO M/N/O/P Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOP[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
23:16 RW Port GPIOO[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
15:8 RW Port GPION[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
7 :0 RW Port GPIOM[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
Offset: 0F4h GPIO0F4: GPIO M/N/O/P Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOP[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
23:16 RW Port GPIOO[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
15:8 RW Port GPION[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port GPIOM[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 11Ch GPIO11C: GPIO Q/R/S/T Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:24 RW Port GPIT[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
23:16 RW Port GPIOS[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
15:8 RW Port GPIOR[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
7 :0 RW Port GPIOQ[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
Offset: 120h GPIO120: GPIO Q/R/S/T Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:24 RW Port GPIT[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
23:16 RW Port GPIOS[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
15:8 RW Port GPIOR[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
7 :0 RW Port GPIOQ[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
Offset: 124h GPIO124: GPIO Q/R/S/T Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:24 RW Port GPIT[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
23:16 RW Port GPIOS[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
15:8 RW Port GPIOR[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port GPIOQ[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 14Ch GPIO14C: GPIO U/V/W/X Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOX[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
23:16 RW Port GPIOW[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
15:8 RW Port GPIOV[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
7 :0 RW Port GPIU[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
Offset: 150h GPIO150: GPIO U/V/W/X Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOX[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
23:16 RW Port GPIOW[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
15:8 RW Port GPIOV[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
7 :0 RW Port GPIU[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
Offset: 154h GPIO154: GPIO U/V/W/X Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOX[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
23:16 RW Port GPIOW[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
15:8 RW Port GPIOV[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port GPIU[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 17Ch GPIO17C: GPIO Y/Z Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:16 Reserved
15:8 RW Port GPIOZ[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
7 :0 RW Port GPIOY[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
Offset: 180h GPIO180: GPIO Y/Z Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:16 Reserved
to next page
Offset: 184h GPIO184: GPIO Y/Z Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:16 Reserved
15:8 RW Port GPIOZ[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port GPIOY[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 22Ch GPIO22C: GPIO A/B/C/D New Write Command Source Register Init = 0
Bit R/W Description
31 RW1S Write Protection of GPIO22C[31:24] until RstFull
30 RW GPIOD Command Source Mode selection
0: Legacy mode. Command Source works as GPIO060 and GPIO064
1: New mode. Command Source works by GPIO22C
29 RW GPIOD Write Permission for Others
28 RW GPIOD Write Permission for MST5 GPIO2D0[24:20]
27 RW GPIOD Write Permission for MST4 GPIO2D0[19:15]
26 RW GPIOD Write Permission for MST3 GPIO2D0[14:10]
25 RW GPIOD Write Permission for MST2 GPIO2D0[ 9: 5]
24 RW GPIOD Write Permission for MST1 GPIO2D0[ 4: 0]
23 RW1S Write Protection of GPIO22C[23:16] until RstFull
22 RW GPIOC Command Source Mode selection
0: Legacy mode. Command Source works as GPIO060 and GPIO064
1: New mode. Command Source works by GPIO22C
21 RW GPIOC Write Permission for Others
20 RW GPIOC Write Permission for MST5 GPIO2D0[24:20]
19 RW GPIOC Write Permission for MST4 GPIO2D0[19:15]
18 RW GPIOC Write Permission for MST3 GPIO2D0[14:10]
17 RW GPIOC Write Permission for MST2 GPIO2D0[ 9: 5]
16 RW GPIOC Write Permission for MST1 GPIO2D0[ 4: 0]
15 RW1S Write Protection of GPIO22C[15:08] until RstFull
14 RW GPIOB Command Source Mode selection
0: Legacy mode. Command Source works as GPIO060 and GPIO064
1: New mode. Command Source works by GPIO22C
13 RW GPIOB Write Permission for Others
12 RW GPIOB Write Permission for MST5 GPIO2D0[24:20]
11 RW GPIOB Write Permission for MST4 GPIO2D0[19:15]
10 RW GPIOB Write Permission for MST3 GPIO2D0[14:10]
to next page
Offset: 230h GPIO230: GPIO A/B/C/D New Read Command Source Register Init = 0
Bit R/W Description
31 RW1S Write Protection of GPIO230[31:24] until RstFull
30 RW GPIOD Command Source Mode selection
0: Legacy mode. Command Source works as GPIO060 and GPIO064
1: New mode. Command Source works by GPIO230
29 RW GPIOD Read Permission for Others
28 RW GPIOD Read Permission for MST5 GPIO2D0[24:20]
27 RW GPIOD Read Permission for MST4 GPIO2D0[19:15]
26 RW GPIOD Read Permission for MST3 GPIO2D0[14:10]
25 RW GPIOD Read Permission for MST2 GPIO2D0[ 9: 5]
24 RW GPIOD Read Permission for MST1 GPIO2D0[ 4: 0]
23 RW1S Write Protection of GPIO230[23:16] until RstFull
22 RW GPIOC Command Source Mode selection
0: Legacy mode. Command Source works as GPIO060 and GPIO064
1: New mode. Command Source works by GPIO230
21 RW GPIOC Read Permission for Others
20 RW GPIOC Read Permission for MST5 GPIO2D0[24:20]
19 RW GPIOC Read Permission for MST4 GPIO2D0[19:15]
18 RW GPIOC Read Permission for MST3 GPIO2D0[14:10]
17 RW GPIOC Read Permission for MST2 GPIO2D0[ 9: 5]
16 RW GPIOC Read Permission for MST1 GPIO2D0[ 4: 0]
15 RW1S Write Protection of GPIO230[15:08] until RstFull
14 RW GPIOB Command Source Mode selection
0: Legacy mode. Command Source works as GPIO060 and GPIO064
1: New mode. Command Source works by GPIO230
13 RW GPIOB Read Permission for Others
12 RW GPIOB Read Permission for MST5 GPIO2D0[24:20]
11 RW GPIOB Read Permission for MST4 GPIO2D0[19:15]
10 RW GPIOB Read Permission for MST3 GPIO2D0[14:10]
9 RW GPIOB Read Permission for MST2 GPIO2D0[ 9: 5]
to next page
Offset: 27Ch GPIO27C: GPIO E/F/G/H New Write Command Source Register Init = 0
Bit R/W Description
31 RW1S Write Protection of GPIO27C[31:24] until RstFull
30 RW GPIOH Command Source Mode selection
0: Legacy mode. Command Source works as GPIO068 and GPIO06C
1: New mode. Command Source works by GPIO27C
29 RW GPIOH Write Permission for Others
28 RW GPIOH Write Permission for MST5 GPIO2D0[24:20]
27 RW GPIOH Write Permission for MST4 GPIO2D0[19:15]
26 RW GPIOH Write Permission for MST3 GPIO2D0[14:10]
25 RW GPIOH Write Permission for MST2 GPIO2D0[ 9: 5]
24 RW GPIOH Write Permission for MST1 GPIO2D0[ 4: 0]
23 RW1S Write Protection of GPIO27C[23:16] until RstFull
22 RW GPIOG Command Source Mode selection
0: Legacy mode. Command Source works as GPIO068 and GPIO06C
1: New mode. Command Source works by GPIO27C
21 RW GPIOG Write Permission for Others
20 RW GPIOG Write Permission for MST5 GPIO2D0[24:20]
to next page
Offset: 280h GPIO280: GPIO E/F/G/H New Read Command Source Register Init = 0
Bit R/W Description
31 RW1S Write Protection of GPIO280[31:24] until RstFull
30 RW GPIOH Command Source Mode selection
0: Legacy mode. Command Source works as GPIO068 and GPIO06C
1: New mode. Command Source works by GPIO280
29 RW GPIOH Read Permission for Others
28 RW GPIOH Read Permission for MST5 GPIO2D0[24:20]
27 RW GPIOH Read Permission for MST4 GPIO2D0[19:15]
26 RW GPIOH Read Permission for MST3 GPIO2D0[14:10]
25 RW GPIOH Read Permission for MST2 GPIO2D0[ 9: 5]
24 RW GPIOH Read Permission for MST1 GPIO2D0[ 4: 0]
23 RW1S Write Protection of GPIO280[23:16] until RstFull
22 RW GPIOG Command Source Mode selection
0: Legacy mode. Command Source works as GPIO068 and GPIO06C
1: New mode. Command Source works by GPIO280
21 RW GPIOG Read Permission for Others
20 RW GPIOG Read Permission for MST5 GPIO2D0[24:20]
19 RW GPIOG Read Permission for MST4 GPIO2D0[19:15]
to next page
Offset: 32Ch GPIO32C: GPIO I/J/K/L New Write Command Source Register Init = 0
Bit R/W Description
31 RW1S Write Protection of GPIO32C[31:24] until RstFull
30 RW GPIOL Command Source Mode selection
0: Legacy mode. Command Source works as GPIO090 and GPIO094
1: New mode. Command Source works by GPIO32C
29 RW GPIOL Write Permission for Others
28 RW GPIOL Write Permission for MST5 GPIO2D0[24:20]
27 RW GPIOL Write Permission for MST4 GPIO2D0[19:15]
26 RW GPIOL Write Permission for MST3 GPIO2D0[14:10]
25 RW GPIOL Write Permission for MST2 GPIO2D0[ 9: 5]
24 RW GPIOL Write Permission for MST1 GPIO2D0[ 4: 0]
23 RW1S Write Protection of GPIO32C[23:16] until RstFull
22 RW GPIOK Command Source Mode selection
0: Legacy mode. Command Source works as GPIO090 and GPIO094
1: New mode. Command Source works by GPIO32C
to next page
ASPEED Confidential All rights reserved. 791 May 6, 2021
ASPEED AST2600 A3 Datasheet – V0.9
Offset: 330h GPIO330: GPIO I/J/K/L New Read Command Source Register Init = 0
Bit R/W Description
31 RW1S Write Protection of GPIO330[31:24] until RstFull
30 RW GPIOL Command Source Mode selection
0: Legacy mode. Command Source works as GPIO090 and GPIO094
1: New mode. Command Source works by GPIO330
29 RW GPIOL Read Permission for Others
28 RW GPIOL Read Permission for MST5 GPIO2D0[24:20]
27 RW GPIOL Read Permission for MST4 GPIO2D0[19:15]
26 RW GPIOL Read Permission for MST3 GPIO2D0[14:10]
25 RW GPIOL Read Permission for MST2 GPIO2D0[ 9: 5]
24 RW GPIOL Read Permission for MST1 GPIO2D0[ 4: 0]
23 RW1S Write Protection of GPIO330[23:16] until RstFull
22 RW GPIOK Command Source Mode selection
0: Legacy mode. Command Source works as GPIO090 and GPIO094
1: New mode. Command Source works by GPIO330
21 RW GPIOK Read Permission for Others
to next page
Offset: 37Ch GPIO37C: GPIO M/N/O/P New Write Command Source Register Init = 0
Bit R/W Description
31 RW1S Write Protection of GPIO37C[31:24] until RstFull
30 RW GPIOP Command Source Mode selection
0: Legacy mode. Command Source works as GPIO0E0 and GPIO0E4
1: New mode. Command Source works by GPIO37C
29 RW GPIOP Write Permission for Others
28 RW GPIOP Write Permission for MST5 GPIO2D0[24:20]
27 RW GPIOP Write Permission for MST4 GPIO2D0[19:15]
26 RW GPIOP Write Permission for MST3 GPIO2D0[14:10]
25 RW GPIOP Write Permission for MST2 GPIO2D0[ 9: 5]
24 RW GPIOP Write Permission for MST1 GPIO2D0[ 4: 0]
23 RW1S Write Protection of GPIO37C[23:16] until RstFull
22 RW GPIOO Command Source Mode selection
0: Legacy mode. Command Source works as GPIO0E0 and GPIO0E4
1: New mode. Command Source works by GPIO37C
21 RW GPIOO Write Permission for Others
20 RW GPIOO Write Permission for MST5 GPIO2D0[24:20]
19 RW GPIOO Write Permission for MST4 GPIO2D0[19:15]
18 RW GPIOO Write Permission for MST3 GPIO2D0[14:10]
17 RW GPIOO Write Permission for MST2 GPIO2D0[ 9: 5]
16 RW GPIOO Write Permission for MST1 GPIO2D0[ 4: 0]
15 RW1S Write Protection of GPIO37C[15:08] until RstFull
14 RW GPION Command Source Mode selection
0: Legacy mode. Command Source works as GPIO0E0 and GPIO0E4
1: New mode. Command Source works by GPIO37C
13 RW GPION Write Permission for Others
12 RW GPION Write Permission for MST5 GPIO2D0[24:20]
11 RW GPION Write Permission for MST4 GPIO2D0[19:15]
10 RW GPION Write Permission for MST3 GPIO2D0[14:10]
9 RW GPION Write Permission for MST2 GPIO2D0[ 9: 5]
8 RW GPION Write Permission for MST1 GPIO2D0[ 4: 0]
7 RW1S Write Protection of GPIO37C[07:00] until RstFull
6 RW GPIOM Command Source Mode selection
0: Legacy mode. Command Source works as GPIO0E0 and GPIO0E4
1: New mode. Command Source works by GPIO37C
5 RW GPIOM Write Permission for Others
4 RW GPIOM Write Permission for MST5 GPIO2D0[24:20]
3 RW GPIOM Write Permission for MST4 GPIO2D0[19:15]
2 RW GPIOM Write Permission for MST3 GPIO2D0[14:10]
1 RW GPIOM Write Permission for MST2 GPIO2D0[ 9: 5]
0 RW GPIOM Write Permission for MST1 GPIO2D0[ 4: 0]
Offset: 380h GPIO380: GPIO M/N/O/P New Read Command Source Register Init = 0
Bit R/W Description
31 RW1S Write Protection of GPIO380[31:24] until RstFull
30 RW GPIOP Command Source Mode selection
0: Legacy mode. Command Source works as GPIO0E0 and GPIO0E4
1: New mode. Command Source works by GPIO380
29 RW GPIOP Read Permission for Others
28 RW GPIOP Read Permission for MST5 GPIO2D0[24:20]
27 RW GPIOP Read Permission for MST4 GPIO2D0[19:15]
26 RW GPIOP Read Permission for MST3 GPIO2D0[14:10]
25 RW GPIOP Read Permission for MST2 GPIO2D0[ 9: 5]
24 RW GPIOP Read Permission for MST1 GPIO2D0[ 4: 0]
23 RW1S Write Protection of GPIO380[23:16] until RstFull
22 RW GPIOO Command Source Mode selection
0: Legacy mode. Command Source works as GPIO0E0 and GPIO0E4
1: New mode. Command Source works by GPIO380
21 RW GPIOO Read Permission for Others
20 RW GPIOO Read Permission for MST5 GPIO2D0[24:20]
19 RW GPIOO Read Permission for MST4 GPIO2D0[19:15]
18 RW GPIOO Read Permission for MST3 GPIO2D0[14:10]
17 RW GPIOO Read Permission for MST2 GPIO2D0[ 9: 5]
16 RW GPIOO Read Permission for MST1 GPIO2D0[ 4: 0]
15 RW1S Write Protection of GPIO380[15:08] until RstFull
14 RW GPION Command Source Mode selection
0: Legacy mode. Command Source works as GPIO0E0 and GPIO0E4
1: New mode. Command Source works by GPIO380
13 RW GPION Read Permission for Others
12 RW GPION Read Permission for MST5 GPIO2D0[24:20]
11 RW GPION Read Permission for MST4 GPIO2D0[19:15]
10 RW GPION Read Permission for MST3 GPIO2D0[14:10]
9 RW GPION Read Permission for MST2 GPIO2D0[ 9: 5]
8 RW GPION Read Permission for MST1 GPIO2D0[ 4: 0]
7 RW1S Write Protection of GPIO380[07:00] until RstFull
6 RW GPIOM Command Source Mode selection
0: Legacy mode. Command Source works as GPIO0E0 and GPIO0E4
1: New mode. Command Source works by GPIO380
5 RW GPIOM Read Permission for Others
4 RW GPIOM Read Permission for MST5 GPIO2D0[24:20]
3 RW GPIOM Read Permission for MST4 GPIO2D0[19:15]
2 RW GPIOM Read Permission for MST3 GPIO2D0[14:10]
1 RW GPIOM Read Permission for MST2 GPIO2D0[ 9: 5]
0 RW GPIOM Read Permission for MST1 GPIO2D0[ 4: 0]
Offset: 3CCh GPIO3CC: GPIO Q/R/S/T New Write Command Source Register Init = 0
Bit R/W Description
31 RW1S Write Protection of GPIO3CC[31:24] until RstFull
30 RW GPIT Command Source Mode selection
0: Legacy mode. Command Source works as GPIO110 and GPIO114
1: New mode. Command Source works by GPIO3CC
29 RW GPIT Write Permission for Others
28 RW GPIT Write Permission for MST5 GPIO2D0[24:20]
27 RW GPIT Write Permission for MST4 GPIO2D0[19:15]
26 RW GPIT Write Permission for MST3 GPIO2D0[14:10]
25 RW GPIT Write Permission for MST2 GPIO2D0[ 9: 5]
24 RW GPIT Write Permission for MST1 GPIO2D0[ 4: 0]
23 RW1S Write Protection of GPIO3CC[23:16] until RstFull
22 RW GPIOS Command Source Mode selection
0: Legacy mode. Command Source works as GPIO110 and GPIO114
1: New mode. Command Source works by GPIO3CC
21 RW GPIOS Write Permission for Others
20 RW GPIOS Write Permission for MST5 GPIO2D0[24:20]
19 RW GPIOS Write Permission for MST4 GPIO2D0[19:15]
18 RW GPIOS Write Permission for MST3 GPIO2D0[14:10]
17 RW GPIOS Write Permission for MST2 GPIO2D0[ 9: 5]
16 RW GPIOS Write Permission for MST1 GPIO2D0[ 4: 0]
15 RW1S Write Protection of GPIO3CC[15:08] until RstFull
14 RW GPIOR Command Source Mode selection
0: Legacy mode. Command Source works as GPIO110 and GPIO114
1: New mode. Command Source works by GPIO3CC
13 RW GPIOR Write Permission for Others
12 RW GPIOR Write Permission for MST5 GPIO2D0[24:20]
11 RW GPIOR Write Permission for MST4 GPIO2D0[19:15]
10 RW GPIOR Write Permission for MST3 GPIO2D0[14:10]
9 RW GPIOR Write Permission for MST2 GPIO2D0[ 9: 5]
to next page
Offset: 3D0h GPIO3D0: GPIO Q/R/S/T New Read Command Source Register Init = 0
Bit R/W Description
31 RW1S Write Protection of GPIO3D0[31:24] until RstFull
30 RW GPIT Command Source Mode selection
0: Legacy mode. Command Source works as GPIO110 and GPIO114
1: New mode. Command Source works by GPIO3D0
29 RW GPIT Read Permission for Others
28 RW GPIT Read Permission for MST5 GPIO2D0[24:20]
27 RW GPIT Read Permission for MST4 GPIO2D0[19:15]
26 RW GPIT Read Permission for MST3 GPIO2D0[14:10]
25 RW GPIT Read Permission for MST2 GPIO2D0[ 9: 5]
24 RW GPIT Read Permission for MST1 GPIO2D0[ 4: 0]
23 RW1S Write Protection of GPIO3D0[23:16] until RstFull
22 RW GPIOS Command Source Mode selection
0: Legacy mode. Command Source works as GPIO110 and GPIO114
1: New mode. Command Source works by GPIO3D0
21 RW GPIOS Read Permission for Others
20 RW GPIOS Read Permission for MST5 GPIO2D0[24:20]
19 RW GPIOS Read Permission for MST4 GPIO2D0[19:15]
18 RW GPIOS Read Permission for MST3 GPIO2D0[14:10]
17 RW GPIOS Read Permission for MST2 GPIO2D0[ 9: 5]
16 RW GPIOS Read Permission for MST1 GPIO2D0[ 4: 0]
15 RW1S Write Protection of GPIO3D0[15:08] until RstFull
14 RW GPIOR Command Source Mode selection
0: Legacy mode. Command Source works as GPIO110 and GPIO114
1: New mode. Command Source works by GPIO3D0
13 RW GPIOR Read Permission for Others
12 RW GPIOR Read Permission for MST5 GPIO2D0[24:20]
11 RW GPIOR Read Permission for MST4 GPIO2D0[19:15]
10 RW GPIOR Read Permission for MST3 GPIO2D0[14:10]
9 RW GPIOR Read Permission for MST2 GPIO2D0[ 9: 5]
8 RW GPIOR Read Permission for MST1 GPIO2D0[ 4: 0]
to next page
Offset: 41Ch GPIO41C: GPIO U/V/W/X New Write Command Source Register Init = 0
Bit R/W Description
31 RW1S Write Protection of GPIO41C[31:24] until RstFull
30 RW GPIOX Command Source Mode selection
0: Legacy mode. Command Source works as GPIO140 and GPIO144
1: New mode. Command Source works by GPIO41C
29 RW GPIOX Write Permission for Others
28 RW GPIOX Write Permission for MST5 GPIO2D0[24:20]
27 RW GPIOX Write Permission for MST4 GPIO2D0[19:15]
26 RW GPIOX Write Permission for MST3 GPIO2D0[14:10]
25 RW GPIOX Write Permission for MST2 GPIO2D0[ 9: 5]
24 RW GPIOX Write Permission for MST1 GPIO2D0[ 4: 0]
23 RW1S Write Protection of GPIO41C[23:16] until RstFull
22 RW GPIOW Command Source Mode selection
0: Legacy mode. Command Source works as GPIO140 and GPIO144
1: New mode. Command Source works by GPIO41C
21 RW GPIOW Write Permission for Others
20 RW GPIOW Write Permission for MST5 GPIO2D0[24:20]
19 RW GPIOW Write Permission for MST4 GPIO2D0[19:15]
to next page
Offset: 420h GPIO420: GPIO U/V/W/X New Read Command Source Register Init = 0
Bit R/W Description
31 RW1S Write Protection of GPIO420[31:24] until RstFull
30 RW GPIOX Command Source Mode selection
0: Legacy mode. Command Source works as GPIO140 and GPIO144
1: New mode. Command Source works by GPIO420
29 RW GPIOX Read Permission for Others
28 RW GPIOX Read Permission for MST5 GPIO2D0[24:20]
27 RW GPIOX Read Permission for MST4 GPIO2D0[19:15]
26 RW GPIOX Read Permission for MST3 GPIO2D0[14:10]
25 RW GPIOX Read Permission for MST2 GPIO2D0[ 9: 5]
24 RW GPIOX Read Permission for MST1 GPIO2D0[ 4: 0]
23 RW1S Write Protection of GPIO420[23:16] until RstFull
22 RW GPIOW Command Source Mode selection
0: Legacy mode. Command Source works as GPIO140 and GPIO144
1: New mode. Command Source works by GPIO420
21 RW GPIOW Read Permission for Others
20 RW GPIOW Read Permission for MST5 GPIO2D0[24:20]
19 RW GPIOW Read Permission for MST4 GPIO2D0[19:15]
18 RW GPIOW Read Permission for MST3 GPIO2D0[14:10]
to next page
Offset: 46Ch GPIO46C: GPIO Y/Z New Write Command Source Register Init = 0
Bit R/W Description
31:16 Reserved
15 RW1S Write Protection of GPIO46C[15:08] until RstFull
14 RW GPIOZ Command Source Mode selection
0: Legacy mode. Command Source works as GPIO170 and GPIO174
1: New mode. Command Source works by GPIO46C
to next page
Offset: 470h GPIO470: GPIO Y/Z New Read Command Source Register Init = 0
Bit R/W Description
31:16 Reserved
15 RW1S Write Protection of GPIO470[15:08] until RstFull
14 RW GPIOZ Command Source Mode selection
0: Legacy mode. Command Source works as GPIO170 and GPIO174
1: New mode. Command Source works by GPIO470
13 RW GPIOZ Read Permission for Others
12 RW GPIOZ Read Permission for MST5 GPIO2D0[24:20]
11 RW GPIOZ Read Permission for MST4 GPIO2D0[19:15]
10 RW GPIOZ Read Permission for MST3 GPIO2D0[14:10]
9 RW GPIOZ Read Permission for MST2 GPIO2D0[ 9: 5]
8 RW GPIOZ Read Permission for MST1 GPIO2D0[ 4: 0]
7 RW1S Write Protection of GPIO470[07:00] until RstFull
6 RW GPIOY Command Source Mode selection
0: Legacy mode. Command Source works as GPIO170 and GPIO174
1: New mode. Command Source works by GPIO470
5 RW GPIOY Read Permission for Others
4 RW GPIOY Read Permission for MST5 GPIO2D0[24:20]
3 RW GPIOY Read Permission for MST4 GPIO2D0[19:15]
2 RW GPIOY Read Permission for MST3 GPIO2D0[14:10]
1 RW GPIOY Read Permission for MST2 GPIO2D0[ 9: 5]
0 RW GPIOY Read Permission for MST1 GPIO2D0[ 4: 0]
Once source of one set is programmed, corresponding bit of register below only can be access by designated
source.
• Data Value
• Direction
• Interrupt Enable
• Interrupt Sensitivity Type 0
• Interrupt Sensitivity Type 1
• Interrupt Sensitivity Type 2
• Reset Tolerant (if exists)
• Debounce Setting #1 (if exists)
• Debounce Setting #2 (if exists)
Features of each group of GPIO : :
Offset: 80Ch GPIO80C: GPIO A/B/C/D Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOD[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
23:16 RW Port GPIOC[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
15:8 RW Port GPIOB[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
7 :0 RW Port GPIOA[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
Offset: 810h GPIO810: GPIO A/B/C/D Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOD[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
23:16 RW Port GPIOC[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
to next page
Offset: 814h GPIO814: GPIO A/B/C/D Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:24 RW Port GPIOD[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
23:16 RW Port GPIOC[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
15:8 RW Port GPIOB[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port GPIOA[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 500h GPIO500: Serial GPIO A/B/C/D 1 Data Value Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] data register
23:16 RW Port Serial GPIOC[7:0] data register
15:8 RW Port Serial GPIOB[7:0] data register
7 :0 RW Port Serial GPIOA[7:0] data register
Offset: 504h GPIO504: Serial GPIO A/B/C/D 1 Interrupt Enable Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
23:16 RW Port Serial GPIOC[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
15:8 RW Port Serial GPIOB[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
7 :0 RW Port Serial GPIOA[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
Offset: 508h GPIO508: Serial GPIO A/B/C/D 1 Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
23:16 RW Port Serial GPIOC[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
15:8 RW Port Serial GPIOB[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
7 :0 RW Port Serial GPIOA[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
Offset: 50Ch GPIO50C: Serial GPIO A/B/C/D 1 Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
23:16 RW Port Serial GPIOC[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
to next page
Offset: 510h GPIO510: Serial GPIO A/B/C/D 1 Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
23:16 RW Port Serial GPIOC[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
15:8 RW Port Serial GPIOB[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port Serial GPIOA[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 514h GPIO514: Serial GPIO A/B/C/D 1 Interrupt Status Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
23:16 RW Port Serial GPIOC[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
15:8 RW Port Serial GPIOB[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
7 :0 RW Port Serial GPIOA[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
Offset: 518h GPIO518: Serial GPIO A/B/C/D 1 Reset Tolerant Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] WDT reset tolerance enable
0: GPIO500 registers will be reset by WDT reset
1: GPIO500 registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
23:16 RW Port Serial GPIOC[7:0] WDT reset tolerance enable
0: GPIO500 registers will be reset by WDT reset
1: GPIO500 registers will not be reset by WDT reset
Each GPIO pin can be individually programmed to be WDT reset tolerant or not.
15:8 RW Port Serial GPIOB[7:0] WDT reset tolerance enable
0: GPIO500 registers will be reset by WDT reset
1: GPIO500 registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
7 :0 RW Port Serial GPIOA[7:0] WDT reset tolerance enable
0: GPIO500 registers will be reset by WDT reset
1: GPIO500 registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
Offset: 51Ch GPIO51C: Serial GPIO E/F/G/H 1 Data Value Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] data register
23:16 RW Port Serial GPIOG[7:0] data register
15:8 RW Port Serial GPIOF[7:0] data register
7 :0 RW Port Serial GPIOE[7:0] data register
Offset: 520h GPIO520: Serial GPIO E/F/G/H 1 Interrupt Enable Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
23:16 RW Port Serial GPIOG[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
15:8 RW Port Serial GPIOF[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
7 :0 RW Port Serial GPIOE[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
Offset: 524h GPIO524: Serial GPIO E/F/G/H 1 Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
23:16 RW Port Serial GPIOG[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
to next page
Offset: 528h GPIO528: Serial GPIO E/F/G/H 1 Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
23:16 RW Port Serial GPIOG[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
15:8 RW Port Serial GPIOF[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
7 :0 RW Port Serial GPIOE[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
Offset: 52Ch GPIO52C: Serial GPIO E/F/G/H 1 Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
23:16 RW Port Serial GPIOG[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
15:8 RW Port Serial GPIOF[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port Serial GPIOE[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 530h GPIO530: Serial GPIO E/F/G/H 1 Interrupt Status Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
23:16 RW Port Serial GPIOG[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
to next page
Offset: 534h GPIO534: Serial GPIO E/F/G/H 1 Reset Tolerant Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] WDT reset tolerance enable
0: GPIO51C registers will be reset by WDT reset
1: GPIO51C registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
23:16 RW Port Serial GPIOG[7:0] WDT reset tolerance enable
0: GPIO51C registers will be reset by WDT reset
1: GPIO51C registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
15:8 RW Port Serial GPIOF[7:0] WDT reset tolerance enable
0: GPIO51C registers will be reset by WDT reset
1: GPIO51C registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
7 :0 RW Port Serial GPIOE[7:0] WDT reset tolerance enable
0: GPIO51C registers will be reset by WDT reset
1: GPIO51C registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
Offset: 538h GPIO538: Serial GPIO I/J/K/L 1 Data Value Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOL[7:0] data register
23:16 RW Port Serial GPIOK[7:0] data register
15:8 RW Port Serial GPIOJ[7:0] data register
7 :0 RW Port Serial GPIOI[7:0] data register
Offset: 53Ch GPIO53C: Serial GPIO I/J/K/L 1 Interrupt Enable Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOL[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
23:16 RW Port Serial GPIOK[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
15:8 RW Port Serial GPIOJ[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
to next page
Offset: 540h GPIO540: Serial GPIO I/J/K/L 1 Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOL[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
23:16 RW Port Serial GPIOK[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
15:8 RW Port Serial GPIOJ[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
7 :0 RW Port Serial GPIOI[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
Offset: 544h GPIO544: Serial GPIO I/J/K/L 1 Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOL[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
23:16 RW Port Serial GPIOK[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
15:8 RW Port Serial GPIOJ[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
7 :0 RW Port Serial GPIOI[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
Offset: 548h GPIO548: Serial GPIO I/J/K/L 1 Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOL[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
23:16 RW Port Serial GPIOK[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
15:8 RW Port Serial GPIOJ[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port Serial GPIOI[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 54Ch GPIO54C: Serial GPIO I/J/K/L 1 Interrupt Status Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOL[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
23:16 RW Port Serial GPIOK[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
15:8 RW Port Serial GPIOJ[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
7 :0 RW Port Serial GPIOI[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
Offset: 550h GPIO550: Serial GPIO I/J/K/L 1 Reset Tolerant Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOL[7:0] WDT reset tolerance enable
0: GPIO538 registers will be reset by WDT reset
1: GPIO538 registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
23:16 RW Port Serial GPIOK[7:0] WDT reset tolerance enable
0: GPIO538 registers will be reset by WDT reset
1: GPIO538 registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
15:8 RW Port Serial GPIOJ[7:0] WDT reset tolerance enable
0: GPIO538 registers will be reset by WDT reset
1: GPIO538 registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
7 :0 RW Port Serial GPIOI[7:0] WDT reset tolerance enable
0: GPIO538 registers will be reset by WDT reset
1: GPIO538 registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
Offset: 558h GPIO558: Serial GPIO A/B/C/D Input Mask Register Init = 0
Bit R/W Description
31:24 RW Port GPIOD[7:0] input mask
0: Read from GPIO500 will be updated.
1: Read from GPIO500 will not be updated.
23:16 RW Port GPIOC[7:0] input mask
0: Read from GPIO500 will be updated.
1: Read from GPIO500 will not be updated.
15:8 RW Port GPIOB[7:0] input mask
0: Read from GPIO500 will be updated.
1: Read from GPIO500 will not be updated.
7 :0 RW Port GPIOA[7:0] input mask
0: Read from GPIO500 will be updated.
1: Read from GPIO500 will not be updated.
Offset: 55Ch GPIO55C: Serial GPIO E/F/G/H Input Mask Register Init = 0
Bit R/W Description
31:24 RW Port GPIOH[7:0] input mask
0: Read from GPIO01C will be updated.
1: Read from GPIO01C will not be updated.
23:16 RW Port GPIOG[7:0] input mask
0: Read from GPIO01C will be updated.
1: Read from GPIO01C will not be updated.
15:8 RW Port GPIOF[7:0] input mask
0: Read from GPIO01C will be updated.
1: Read from GPIO01C will not be updated.
7 :0 RW Port GPIOE[7:0] input mask
0: Read from GPIO01C will be updated.
1: Read from GPIO01C will not be updated.
Offset: 560h GPIO560: Serial GPIO I/J/K/L Input Mask Register Init = 0
Bit R/W Description
31:24 RW Port GPIOL[7:0] input mask
0: Read from GPIO538 will be updated.
1: Read from GPIO538 will not be updated.
23:16 RW Port GPIOK[7:0] input mask
0: Read from GPIO538 will be updated.
1: Read from GPIO538 will not be updated.
15:8 RW Port GPIOJ[7:0] input mask
0: Read from GPIO538 will be updated.
1: Read from GPIO538 will not be updated.
7 :0 RW Port GPIOI[7:0] input mask
0: Read from GPIO538 will be updated.
1: Read from GPIO538 will not be updated.
Offset: 564h GPIO564: Serial GPIO M/N/O/P Input Mask Register Init = 0
Bit R/W Description
31:24 RW Port GPIOP[7:0] input mask
0: Read from GPIO590 will be updated.
1: Read from GPIO590 will not be updated.
23:16 RW Port GPIOO[7:0] input mask
0: Read from GPIO590 will be updated.
1: Read from GPIO590 will not be updated.
15:8 RW Port GPION[7:0] input mask
0: Read from GPIO590 will be updated.
1: Read from GPIO590 will not be updated.
7 :0 RW Port GPIOM[7:0] input mask
0: Read from GPIO590 will be updated.
1: Read from GPIO590 will not be updated.
Offset: 570h GPIO570: Serial GPIO A/B/C/D 1 Data Read Register Init = 0
Bit R/W Description
31: 0 R Data written to GPIO500
Offset: 574h GPIO574: Serial GPIO E/F/G/H 1 Data Read Register Init = 0
Bit R/W Description
31: 0 R Data written to GPIO51C
Offset: 578h GPIO578: Serial GPIO I/J/K/L 1 Data Read Register Init = 0
Bit R/W Description
31: 0 R Data written to GPIO538
Offset: 590h GPIO590: Serial GPIO M/N/O/P 1 Data Value Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOP[7:0] data register
23:16 RW Port Serial GPIOO[7:0] data register
15:8 RW Port Serial GPION[7:0] data register
to next page
Offset: 594h GPIO594: Serial GPIO M/N/O/P 1 Interrupt Enable Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOP[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
23:16 RW Port Serial GPIOO[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
15:8 RW Port Serial GPION[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
7 :0 RW Port Serial GPIOM[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
Offset: 598h GPIO598: Serial GPIO M/N/O/P 1 Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOP[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
23:16 RW Port Serial GPIOO[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
15:8 RW Port Serial GPION[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
7 :0 RW Port Serial GPIOM[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
Offset: 59Ch GPIO59C: Serial GPIO M/N/O/P 1 Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOP[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
23:16 RW Port Serial GPIOO[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
15:8 RW Port Serial GPION[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
7 :0 RW Port Serial GPIOM[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
Offset: 5A0h GPIO5A0: Serial GPIO M/N/O/P 1 Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOP[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
23:16 RW Port Serial GPIOO[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
15:8 RW Port Serial GPION[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port Serial GPIOM[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 5A4h GPIO5A4: Serial GPIO M/N/O/P 1 Interrupt Status Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOP[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
23:16 RW Port Serial GPIOO[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
15:8 RW Port Serial GPION[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
7 :0 RW Port Serial GPIOM[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
Offset: 5A8h GPIO5A8: Serial GPIO M/N/O/P 1 Reset Tolerant Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOP[7:0] WDT reset tolerance enable
0: GPIO500 registers will be reset by WDT reset
1: GPIO500 registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
23:16 RW Port Serial GPIOO[7:0] WDT reset tolerance enable
0: GPIO500 registers will be reset by WDT reset
1: GPIO500 registers will not be reset by WDT reset
Each GPIO pin can be individually programmed to be WDT reset tolerant or not.
to next page
Offset: 600h GPIO600: Serial GPIO A/B/C/D 2 Data Value Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] data register
23:16 RW Port Serial GPIOC[7:0] data register
15:8 RW Port Serial GPIOB[7:0] data register
7 :0 RW Port Serial GPIOA[7:0] data register
Offset: 604h GPIO604: Serial GPIO A/B/C/D 2 Interrupt Enable Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
23:16 RW Port Serial GPIOC[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
15:8 RW Port Serial GPIOB[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
7 :0 RW Port Serial GPIOA[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
Offset: 608h GPIO608: Serial GPIO A/B/C/D 2 Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
23:16 RW Port Serial GPIOC[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
15:8 RW Port Serial GPIOB[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
7 :0 RW Port Serial GPIOA[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
Offset: 60Ch GPIO60C: Serial GPIO A/B/C/D 2 Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
23:16 RW Port Serial GPIOC[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
to next page
Offset: 610h GPIO610: Serial GPIO A/B/C/D 2 Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
23:16 RW Port Serial GPIOC[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
15:8 RW Port Serial GPIOB[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port Serial GPIOA[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 614h GPIO614: Serial GPIO A/B/C/D 2 Interrupt Status Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
23:16 RW Port Serial GPIOC[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
15:8 RW Port Serial GPIOB[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
7 :0 RW Port Serial GPIOA[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
Offset: 618h GPIO618: Serial GPIO A/B/C/D 2 Reset Tolerant Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOD[7:0] WDT reset tolerance enable
0: GPIO600 registers will be reset by WDT reset
1: GPIO600 registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
23:16 RW Port Serial GPIOC[7:0] WDT reset tolerance enable
0: GPIO600 registers will be reset by WDT reset
1: GPIO600 registers will not be reset by WDT reset
Each GPIO pin can be individually programmed to be WDT reset tolerant or not.
15:8 RW Port Serial GPIOB[7:0] WDT reset tolerance enable
0: GPIO600 registers will be reset by WDT reset
1: GPIO600 registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
7 :0 RW Port Serial GPIOA[7:0] WDT reset tolerance enable
0: GPIO600 registers will be reset by WDT reset
1: GPIO600 registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
Offset: 61Ch GPIO61C: Serial GPIO E/F/G/H 2 Data Value Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] data register
23:16 RW Port Serial GPIOG[7:0] data register
15:8 RW Port Serial GPIOF[7:0] data register
7 :0 RW Port Serial GPIOE[7:0] data register
Offset: 620h GPIO620: Serial GPIO E/F/G/H 2 Interrupt Enable Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
23:16 RW Port Serial GPIOG[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
15:8 RW Port Serial GPIOF[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
7 :0 RW Port Serial GPIOE[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
Offset: 624h GPIO624: Serial GPIO E/F/G/H 2 Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
23:16 RW Port Serial GPIOG[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
to next page
Offset: 628h GPIO628: Serial GPIO E/F/G/H 2 Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
23:16 RW Port Serial GPIOG[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
15:8 RW Port Serial GPIOF[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
7 :0 RW Port Serial GPIOE[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
Offset: 62Ch GPIO62C: Serial GPIO E/F/G/H 2 Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
23:16 RW Port Serial GPIOG[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
15:8 RW Port Serial GPIOF[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port Serial GPIOE[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 630h GPIO630: Serial GPIO E/F/G/H 2 Interrupt Status Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
23:16 RW Port Serial GPIOG[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
to next page
Offset: 634h GPIO634: Serial GPIO E/F/G/H 2 Reset Tolerant Register Init = 0
Bit R/W Description
31:24 RW Port Serial GPIOH[7:0] WDT reset tolerance enable
0: GPIO61C registers will be reset by WDT reset
1: GPIO61C registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
23:16 RW Port Serial GPIOG[7:0] WDT reset tolerance enable
0: GPIO61C registers will be reset by WDT reset
1: GPIO61C registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
15:8 RW Port Serial GPIOF[7:0] WDT reset tolerance enable
0: GPIO61C registers will be reset by WDT reset
1: GPIO61C registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
7 :0 RW Port Serial GPIOE[7:0] WDT reset tolerance enable
0: GPIO61C registers will be reset by WDT reset
1: GPIO61C registers will not be reset by WDT reset
Each Serial GPIO pin can be individually programmed to be WDT reset tolerant or not.
Offset: 638h GPIO638: Serial GPIO I/J 2 Data Value Register Init = 0
Bit R/W Description
31:16 R Reserved
15:8 RW Port Serial GPIOJ[7:0] data register
7 :0 RW Port Serial GPIOI[7:0] data register
Offset: 63Ch GPIO63C: Serial GPIO I/J 2 Interrupt Enable Register Init = 0
Bit R/W Description
31:16 R Reserved
15:8 RW Port Serial GPIOJ[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
7 :0 RW Port Serial GPIOI[7:0] interrupt enable
0: Disable interrupt
1: Enable interrupt
Offset: 640h GPIO640: Serial GPIO I/J 2 Interrupt Sensitivity Type 0 Register Init = 0
Bit R/W Description
31:16 R Reserved
15:8 RW Port Serial GPIOJ[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
7 :0 RW Port Serial GPIOI[7:0] interrupt sensitivity type 0 selection
0: Select falling-edge or level-low trigger mode
1: Select rising-edge or level-high trigger mode
Offset: 644h GPIO644: Serial GPIO I/J 2 Interrupt Sensitivity Type 1 Register Init = 0
Bit R/W Description
31:16 R Reserved
15:8 RW Port Serial GPIOJ[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
7 :0 RW Port Serial GPIOI[7:0] interrupt sensitivity type 1 selection
0: Select edge trigger mode
1: Select level trigger mode
Offset: 648h GPIO648: Serial GPIO I/J 2 Interrupt Sensitivity Type 2 Register Init = 0
Bit R/W Description
31:16 R Reserved
15:8 RW Port Serial GPIOJ[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
7 :0 RW Port Serial GPIOI[7:0] interrupt sensitivity type 2 selection
0: Select edge or level trigger mode
1: Select dual-edge trigger mode
Offset: 64Ch GPIO64C: Serial GPIO I/J 2 Interrupt Status Register Init = 0
Bit R/W Description
31:16 R Reserved
15:8 RW Port Serial GPIOJ[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
7 :0 RW Port Serial GPIOI[7:0] interrupt status register
Read 0: No interrupt pending
Read 1: interrupt pending
Write 0: No operation
Write 1: Clear interrupt status flag
Offset: 650h GPIO650: Serial GPIO I/J 2 Reset Tolerant Register Init = 0
Bit R/W Description
31:16 R Reserved
to next page
Offset: 670h GPIO670: Serial GPIO A/B/C/D 2 Data Read Register Init = 0
Bit R/W Description
31: 0 R Data written to GPIO600
Offset: 674h GPIO674: Serial GPIO E/F/G/H 2 Data Read Register Init = 0
Bit R/W Description
31: 0 R Data written to GPIO61C
Offset: 678h GPIO678: Serial GPIO I/J 2 Data Read Register Init = 0
Bit R/W Description
31: 0 R Data written to GPIO638
Offset: 71Ch GPIO71C: SGPIO Slave Interrupt Enable and Status Init = 0
Bit R/W Description
31:17 Reserved
16 RW Interrupt Enable
15: 1 Reserved
0 RW1C Set when a new frame comes
Offset: 75Ch GPIO75C: SGPIO Slave Interrupt Enable and Status Init = 0
Bit R/W Description
31:17 Reserved
16 RW Interrupt Enable
15: 1 Reserved
0 RW1C Set when a new frame comes
RTC provides second, minute, hour and day and clock alarm function. When turned on the second alarm
function, the RTC will auto trigger an interrupt each second. Also, the auto minute, hour and day alarm can be
turned on. The function is useful for implementing a clock.
RTC totally implements 5 sets of 32-bit registers, which are listed below, to program the various supported
functions. Each register has its own specific offset value, ranging from 0x00 to 0x14h, to derive its physical
address location.
42.2 Features
• Directly connected to APB bus
• Clock source is divided from 25MHz clock input
• Precision ≈ 50ppm (25MHz input precision), approximately 1 second deviation for each 12 hours. So it
is recommended to sync the time with the time server for couple days or couple weeks.
• Support Full Calendar function with correct leap years
• Clock mode for calculating:
– seconds (0-59)
– minutes (0-59)
– hours (0-23)
– days of month (1-28,29,30,31)
– month (1-12)
– year (0-99)
– century (0-31) (hundred digits of year, ex. year 2013 = 20)
• Programmable alarm with interrupt generation
– Periodic alarm for second, minute, hour or day setting seperately
– Periodic alarm for a specified day/hour/minute/second time within a month
• Maskable interrupt
• No battery backup supported
42.4 Operation
42.4.1 Initialize Sequence
Software must execute 1 time Initial sequence whenever power on reset happened.
• Enable the Second alarm, Second alarm will be triggerred periodically when the second counter meets
20 for every minutes.
• Enable the Minute alarm, Minute alarm will be triggerred periodically when the minute counter meets 30
for every hours.
• Enable the Hour alarm, Hour alarm will be triggerred periodically when the hour counter meets 15 for
every days.
• When multiple alarms are enabled at the same time, then different alarm will be triggerred seperately
when the enabled alarm value meets the counter value.
Combination Mode
Alarm will be triggerred periodically whenever the set time and enabled alarm modes all were met. For
example, set the alarm time = Day:20 15:30:20
• Enable Minute and Second alarm, alarm will be triggerred at min=30 and sec=20 for every hours.
• Enable Hour and Minute alarm, alarm will be triggerred at hour=15 and minute=30 for every days.
43.2 Features
• Directly connected to APB Bus
• Built-in 8 sets of 32-bit timer modules
• Free-running or periodic mode
• Maskable interrupts
• 4 of 8 sets timer can generate a programmable period and duty cycle pulse output.
• 6 of 8 sets timer can generate a programmable sequence signal output, it can be used to control power
sequence.
43.4 Operation
Reload, Match1, Match2 and Control[Interrupt] must be set when timer is used. Reload controls the period
between twice overflow. For example, if 0x02 value be set to Reload and then enable timer Control[Enable],
the sequence of counter is 2,1,0,2,1,....
An interrupt can be generated when timer counter reach zero, if Control[Interrupt] was set.
Initial Sequence :
1. Set Reload
2. Set Control[Interrupt]
3. Enable Timer, Control[Enable]
Update Timer Value Sequence :
• Method 1
1. Disable Timer
2. Set Reload
3. Set Control[Interrupt]
4. Enable Timer, Control[Enable]
• Method 2
1. Set new counting value to status register
Each unit of UART totally implements 12 sets of 32-bit registers, which are listed below, to program the various
supported functions including character length selection, baud rate selection, interrupt generation, and parity
generation/checking. Each register has its own specific offset value, ranging from 0x00 to 0x14h, to derive its
physical address location.
44.2 Features
• Directly connected to APB bus
• Support two UART with full flow control pins (one is with dedicated flow control pins, the other is shared
with GPIO pins)
• Separate transmit & receive FIFO buffer (16x8) to reduce CPU interrupts
• Extended diagnostic Loopback Mode allows testing more Modem Control and Auto Flow Control features
44.3 Registers
When the FIFOs are programmed OFF, the data in the UART RBR must be read before
the next data arrives; otherwise it will be overwritten, resulting in an overrun error.
When the FIFOs are programmed ON, this register accesses the head of the receive
FIFO. If the receive FIFO is full and this register is not read before the next data character
arrives, then the data already in the FIFO will be preserved but any incoming data will be
lost. An overrun error will also occur.
to next page
When the FIFOs are programmed OFF, writing a single character to the UART THR
clears the THRE. Any additional writes to the UART THR before the THRE is set again
causes the UART THR data to be overwritten.
When the FIFOs are programmed ON, 16 bytes of data may be written to the UART THR
before the FIFO is full. Any attempt to write data when the FIFO is full results in the write
data being lost.
For more information about Interrupt Identity, see the following Table for detailed descrip-
tion.
0 RO Indicates that an interrupt is pending when its logic ”0”. When its ”1”, no interrupt is
pending.
to next page
Note that the receiver always checks the first stop bit only.
1:0 RW CLS: Select number of bits per character
00: 5 bits.
01: 6 bits.
10: 7 bits.
11: 8 bits.
Setting the 7th bit of UART LCR to ”1” can access the divisor latches. You should restore this bit to ”0” after
setting the divisor latches in order to restore access to the other registers that occupy the same addresses.
The 2 bytes form one 16-bit register, which is internally accessed as a single number. You should therefore
set all 2 bytes of the register to ensure normal operation. The register is set to the default value of 0 on reset,
which disables all serial I/O operations in order to ensure explicit setup of the register in the software. The
value set should be equal to
The internal counter starts to work when the LSB of DL is written, so when setting the divisor, write the MSB
first and the LSB last.
Offset: 00h UART DLL: Divisor Latch Low Register : (DLAB = 1) Init = 0
Bit R/W Description
31:8 RO Reserved.
7:0 RW The LSB of the baud-rate divisor latch.
Offset: 04h UART DLH: Divisor Latch High Register : (DLAB = 1) Init = 0
Bit R/W Description
31:8 RO Reserved.
7:0 RW The MSB of the baud-rate divisor latch.
45.2 Features
• Directly connected to Uart Controller
• Built-in time out timer
• 1KB, 4KB, 16KB and 64KB programmable buffer size
• Buffer full interrupt for receiver
• Buffer empty interrupt for transmiter
46.2 Features
• Directly connected to APB bus
• Watchdog function
• Built-in 8 sets of 32-bit WDT modules
• Generate either interrupt or reset after counting down to zero (programmable)
• Generate 3 types of reset pulse (programmable) to reset SOC part or full chip.
• Support Software mode reset control.
46.3 Registers
Offset: 04h WDT04: WDTn Counter Reload Value Register Init = 0x014FB180
Bit R/W Description
31:0 RW Counter reload value register
Reload register contains value which will be loaded into WDT00 register. When reset or
restart, Reload value will be automatically loaded into WDT00 register. The timing unit is
1us.
The value will be decremented by hardware when pulse generating, and return to
default value after pulse end.
Offset: 24h WDT24: WDTn Software Mode Reset Control Register Init = 0x0
Bit R/W Description
31:8 RO Reserved
7:4 RWT Watchdog event counter
This field reports the count of the Software mode reset event.
Write 0xDEADDEAD to clear this counter value.
3:1 RO Reserved
0 RWT Enable trigger software mode reset
Write 0xAEEDF123 to fire the reset generation. After reset, this bit will be cleared to 0
automatically.
Software mode reset only support SOC reset mode.
Offset: 28h WDT28: WDTn Software Mode Reset Mask Register #1) Init = 0x0
Bit R/W Description
31:28 RO Reserved
27 RW Enable reset I2CS controller
26 RW Enable reset eSPI controller
25:24 RO Reserved
25 RW Enable reset RVAS controller
24 RW Enable reset GPIO #1 controller
23 RW Enable reset XDMA #2 controller
22 RW Enable reset XDMA #1 controller
21 RW Enable reset MCTP #2 controller
20 RW Enable reset MCTP #1 controller
19 RW Enable reset JTAG #1 master controller
18 RW Enable reset SD/SDIO #1 controller
17 RW Enable reset MAC#2 controller
16 RW Enable reset MAC#1 controller
15 RW Enable reset GP MCU controller
14 RW Enable reset DP MCU controller
13 RW Enable reset DP controller
12 RW Enable reset HAC engine
11 RW Enable reset Video engine
10 RW Enable reset CRT mode 2D engine
9 RW Enable reset Graphics CRT controller
8 RW Enable reset USB1.1 UHCI Host controller
7 RW Enable reset USB portB Host/Dev controller
to next page
Offset: 2Ch WDT2C: WDTn Software Mode Reset Mask Register #2 Init = 0x0
Bit R/W Description
31:26 RO Reserved
25 RW Enable reset I3C bus8 controller
24 RW Enable reset I3C bus7 controller
23 RW Enable reset I3C bus6 controller
22 RW Enable reset I3C bus5 controller
21 RW Enable reset I3C bus4 controller
20 RW Enable reset I3C bus3 controller
19 RW Enable reset I3C bus2 controller
18 RW Enable reset I3C bus1 controller
17 RW Enable reset I3C Global controller
16 RW Enable reset I2C controller
15 RW Enable reset FSI controller
14 RW Enable reset ADC controller
13 RW Enable reset PWM controller
12 RW Enable reset PECI controller
11 RW Enable reset LPC controller
10 RW Enable reset MDC/MDIO controller
9 RW Enable reset GPIO #2 controller
8 RW Enable reset JTAG #2 master controller
7 RW Enable reset SD/SDIO #2 controller
6 RW Enable reset MAC#4 controller
5 RW Enable reset MAC#3 controller
4 RW Enable reset SOC controller
SOC controller includes: WDT, UART, BSRAM.
3 RW Enable reset SLI2 bridge
2 RW Enable reset AHB2 bridges
1 RW Enable reset SPI1/SPI2 controller
0 RW Enable reset ARM related controllers
This bit must be set together with WDT28[0].
Offset: 30h WDT30: WDTn Funtion Disable Control Register Init = 0x0
Bit R/W Description
5 RW1S Disable watchdog Software mode reset
4 RW1S Disable watchdog interrupt generation
3 RW1S Disable watchdog CPU/FMC reset mode
2 RW1S Disable watchdog Full reset mode
1 RW1S Disable watchdog SOC reset mode
0 RW1S Disable full watchdog function
Note :
This register is write ’1’ possible only and can’t be cleared until next SRST# reset.
46.4 Operation
46.4.1 Enable watchdog reset
1. disable watchdog timer
2. set Reload register
3. write 0x4755 to Restart register
4. set WDT0C[7:1] bit
5. enable watchdog timer
47.2 Features
PWM and Fan Tachometer Controller
• Support 16 PWM outputs and 16 fan tachometer inputs
• Support PWM frequency range from 780KHz to 24Hz
• Duty cycle from 0 to 100% with 1/256 resolution incremental
• Support fan tachometer frequency range from 1 RPM to 20K (180K) RPM
• Shared with GPIO pins
One set is for host CPU; the other set is for ARM CPU. Host CPU and ARM CPU can communicate with
each other like there is a physical UART link between them, but the related data transfer actually is just through
pure register read/write transfers in the chip. The base address for host CPU to access UART registers through
LPC bus can be programmed by ARM CPU by the extended related registers (VxUART28 and VxUART2C)
In other words, Virtual UART is a single module with dual heads. One side is exposed to Host over the
eSPI/LPC (see the Host side registers below), the other side is exposed to the BMC (see the Slave side regis-
ter below). When the host writes to V1UART00 (Host), the data goes into an internal 16 byte FIFO, the same
FIFO can be read from the V1UART00 (Slave) from the BMC side. Similarly, BMC writes goes to another FIFO
that can be read from the host side by reading the V1UART00 (Host). The rest of the control registers are only
required when you take the Byte data and shift it out serially to a connector but in this implementation we never
do serial shift internally. The data stays as byte, so whatever programming in host/BMC side to other UART
control registers are just ignored.
The following registers can be access by host CPU through LPC bus.
The following registers can be access by ARM CPU through APB bus.
The following registers can be access by host CPU through LPC bus.
The following registers can be access by ARM CPU through APB bus.
48.2 Features
• Directly connected to both APB bus and LPC Bus
• Support two Virtual UART interfaces
• Separate transmit & receive FIFO buffer (16x8) to reduce CPU overhead
• Programmable base address for host CPU to access UART registers through LPC bus
Offset: 08h V1UART08 (Host): (IIR) Interrupt Identity Register Init = 0xC1
Bit R/W Description
31:4 RO Reserved (0)
3:1 RO Interrupt Decoding Table
The content of this register can be used to identify the source of the current interrupt
based on the following:
000: Modem Status Changed
001: THR empty
010: Received Data Available
011: Receiver Status
110: Character Time Out
For more information about Interrupt Identity, see the following Table for detailed descrip-
tion.
0 RO Indicates that an interrupt is pending when its logic 0. When its 1, no interrupt is pending.
Note :
The IIR enables the programmer to retrieve what is the current highest priority pending interrupt.
Offset: 08h V1UART08 (Host): (FCR) FIFO Control Register Init = 0x01
Bit R/W Description
31:8 RO Reserved (0)
7:6 W Define the Receiver FIFO Interrupt trigger level.
00: 1 byte received
01: 4 bytes received
10: 8 bytes received
11: 14 bytes received
5:3 RO Reserved (0)
2 W Transmit FIFO Reset
Writing 1 to this bit clears the Transmitter FIFO and resets its logic.
1 W Receive FIFO Reset
Writing 1 to this bit clears the Receiver FIFO and resets its logic.
0 W Enable UART FIFO
0: Disable FIFO
1: Enable FIFO
The value of this register is always logic ’1’.
Note :
The FCR allows selection of the FIFO trigger level (the number of bytes in FIFO required to enable the Received
Data Available interrupt). In addition, the FIFOs can be cleared using this register.
Offset: 08h V1UART08 (Slave): (IIR) Interrupt Identity Register Init = 0xC1
Bit R/W Description
31:4 RO Reserved (0)
3:1 RO Interrupt Decoding Table
The content of this register can be used to identify the source of the current interrupt
based on the following:
000: Modem Status Changed
001: THR empty
010: Received Data Available
011: Receiver Status
110: Character Time Out
For more information about Interrupt Identity, see the following Table for detailed descrip-
tion.
0 RO Indicates that an interrupt is pending when its logic 0. When its 1, no interrupt is pending.
Note :
The IIR enables the programmer to retrieve what is the current highest priority pending interrupt.
Offset: 08h V1UART08 (Slave): (FCR) FIFO Control Register Init = 0x01
Bit R/W Description
31:8 RO Reserved (0)
7:6 W Define the Receiver FIFO Interrupt trigger level.
00: 1 byte received
01: 4 bytes received
10: 8 bytes received
11: 14 bytes received
5:3 RO Reserved (0)
2 W Transmit FIFO Reset
Writing 1 to this bit clears the Transmitter FIFO and resets its logic.
1 W Receive FIFO Reset
Writing 1 to this bit clears the Receiver FIFO and resets its logic.
0 W Enable UART FIFO
0: Disable FIFO
1: Enable FIFO
The value of this register is always logic ’1’.
Note :
The FCR allows selection of the FIFO trigger level (the number of bytes in FIFO required to enable the Received
Data Available interrupt). In addition, the FIFOs can be cleared using this register.
Offset: 0Ch V1UART0C (Host): (LCR) Line Control Register Init = 0x03
Bit R/W Description
31:8 RO Reserved (0)
to next page
Offset: 0Ch V1UART0C (Slave): (LCR) Line Control Register Init = 0x03
Bit R/W Description
31:8 RO Reserved (0)
7 RW DLAB: Divisor latch access bit
0: The normal registers are accessed.
1: The divisor latches can be accessed.
Setting this bit will enable the reading and writing of the Divisor Latch register (DLL and
DLH) to set the baud rate of the UART. This bit must be cleared after initial baud rate setup
in order to access other registers.
6 RW Break Control bit.
0: break is disabled.
1: break event is transmitted to the Host side.
5:2 RW Reserved
1:0 RW Select number of bits per character
00: 5 bits.
01: 6 bits.
10: 7 bits.
11: 8 bits.
Offset: 14h V1UART14 (Host): (LSR) Line Status Register Init = 0x60
Bit R/W Description
31:7 RO Reserved (0)
6 RO Transmitter empty
1: The THR or FIFO and the Transmitter Shift Register are both empty.
0: Otherwise.
to next page
Offset: 14h V1UART14 (Slave): (LSR) Line Status Register Init = 0x60
Bit R/W Description
31:7 RO Reserved (0)
6 RO Transmitter empty
1: The THR or FIFO and the Transmitter Shift Register are both empty.
0: Otherwise.
5 RO Transmitter holding register empty
1: The THR or FIFO and the Transmitter Shift Register are both empty. This also causes
a THRE Interrupt to occur, if the THRE Interrupt is enabled.
0: Otherwise.
4 RO Break interrupt
1: The Break Control bit of Line Control Register on the opposite side is set. 0: No break
condition in the current character.
3:2 RO Reserved (0)
1 RO Overrun error
1: In the FIFO mode, an overrun error occurs when the FIFO is full and a new character
arrives at the receiver.
0: No overrun state.
0 RO Data ready
1: The receiver contains at least one character in the RBR or the receiver FIFO.
0: The RBR is read or the receiver FIFO is empty.
Offset: 20h V1UART20 (Slave): General Control Register A Init = 0b00x0 xx00
Bit R/W Description
31:8 RO Reserved (0)
7 :6 RO Status of host-side Receiver FIFO Trigger
to next page
Offset: 24h V1UART24 (Slave): General Control Register B Init = 0bxxxx xx11
Bit R/W Description
31:8 RO Reserved (0)
7 :4 RW SIRQ number selection bit [3:0]
0000: IRQ0
0001: IRQ1
0010: SMI
...
1111: IRQ15
3 :2 RW Host-side timeout period selection
00: 1/3600 second if V1UART38[1]=0
01: 1/7200 second if V1UART38[1]=0
10: 1/14400 second if V1UART38[1]=0
11: 1/28800 second if V1UART38[1]=0
00: 512*PCLK if V1UART38[1]=1
01: 256*PCLK if V1UART38[1]=1
10: 128*PCLK if V1UART38[1]=1
11: 64*PCLK if V1UART38[1]=1
1 :0 RO Number of bits per character (host-side)
Note :
This register is defined for ARM CPU only.
Offset: 28h V1UART28 (Slave): Virtual 1 UART Address Register L Init = 0bxxxx x001
Bit R/W Description
31:8 RO Reserved (0)
7 :3 RW Virtual 1 UART address bit [7:3]
This register defines the base address (the low bytes) for host CPU to access virtual UART
registers through LPC bus.
2 RW Halt Tx DMA
1 RW Halt Rx DMA
0 RO Version ID
Note :
This register is defined for ARM CPU only.
Offset: 30h V1UART30 (Slave): General Control Register E Init = 0b0000 1110
Bit R/W Description
31:8 RO Reserved (0)
7 RO Transmit FIFO full. (slave-side)
0: transmit FIFO not full.
1: transmit FIFO full.
6 :4 RO THR read pointer bit [2:0] (slave-side)
3 :0 RO Complement of IIR status bit [3:0] (host-side)
Note :
This register is defined for ARM CPU only.
The definition of BMC related registers, from offset 0x00 to offset 0x7C, are basically compatible with the
popular BMC controller - H8S/2168. Therefore, the software code developed for the chip can be easily ported
to AST2600 .
49.2 Features
• Directly connected to APB bus interface
• Operation mode
– Salve mode: designed for BMC functions (I/O read write cycles) and SBIOS boot (memory or
firmware read write cycles)
• Support Serial IRQ (reduce polling time)
• Support port 80H/81H (programmable address) snooping registers with interrupt option
• Support two set of Virtual UART (16550) (SIRQ#)
Attribute : Description
R : Readable
W : Writable
RO : Read Only
WO : Write Only
W0C : Write ’0’ to clear value to 0
W1C : Write ’1’ to clear value to 0
W1T : Write ’1’ to toggle value
W0S : Write ’0’ to set value to 1
W1S : Write ’1’ to set value to 1
U : Unknown value
P : Initialized by PWRST N
H : Initialized by LPC RST N
L : Initialized by LPC LRST N
SIOS5# GPIO08C[11]
1
0 X S45 Pull 1 Ctrl. nxON
0
Logic 1
ESPI098[0] SWCR0B_08[13]
1
zS3# (GPIO Output
SCU510[5] Enable ACPI pins, S3, S5, PWREQ, Enable)
ONCTRL, PWRGD, PBO, PBI and SCI SIOS3# 1
GPIO088[11]
SWCR_17_14[19] SWCR_17_14[20]
(Enable Pulse on (Lock PWRBTN)
Wakeup) SCU418[5]
SWCR_07_04[15] SCU510[5]
(Force PBO#out)
SIOPBI#
0
GPIO074[5]
4s 1
SIOPWRGD Ctrl. 1
… Logic 1 1
GPIO070[5]
SWCR_0B_08[24]
1
(PWBTO output)
SWCR_17_14[19] Enable pulse on PWBTO as wake-
up event SIOPBO#
GPIOI5
SWCR_17_14[20] Lock PWRBTN 1
SWCR_03_00[15]
(PWBTO raw) 1
SWCR_07_04[15] Force PWBTO output
SCU434[12]
SCU510[5]
GPIO08C[12]
0 1
GPIO088[12]
0 1
SWCR_03_00[30] PWRGD status after debounce
SIOPWRGD
GPIOV4
SWCR_03_00[29] PWRGDrising event status
0
SWCR03_00[30]
D
(debounced PWRGD)
SWCR_03_00[28] PWRGD fallingevent status 1
Each logical device has its own configuration register above index 0x30. The following software programming
example is written in Intel assembly language for reference.
; password
MOV DX, 2EH
MOV AL, A5H
OUT DX, AL
OUT DX, AL
; select logical device 2
MOV DX, 2EH
MOV AL, 07H
OUT DX, AL
MOV DX, 2FH
MOV AL, 02H
OUT DX, AL
; set SIOR2 30 01H
MOV DX, 2EH
MOV AL, 30H
OUT DX, AL
MOV DX, 2FH
MOV AL, 01H
OUT DX, AL
; exit
MOV DX, 2EH
MOV AL, AAH
OUT DX, AL
The following registers can be access by host CPU through LPC bus.
Attribute Definition:
Attribute : Description
R : Readable
W : Writable
W1C : Write ’1’ to clear value to 0
X : Unknown value
P : Initialized by PWRST N
Attribute Definition:
Attribute : Description
R : Readable
W : Writable
W1C : Write ’1’ to clear value to 0
X : Unknown value
P : Initialized by PWRST N
Offset: 01h SWCR 01: SWC Miscellaneous Event Status 0 Init = 1010 0000P
Bit R/W Description
7 RO PWBTO raw status
6 RO Last ONCTL status
5 RW1C Was pfail status
4 RO Crowbar status
3 RO PWRBTN Override status
2 RO Reserved
1 RW1C RI wake-up event status
0 RW1C BMC trigger wake-up event status
Offset: 03h SWCR 03: SWC Miscellaneous Event Status 2 Init = 0000 1001P
Bit R/W Description
7 RO Setting sleep state event status
6 RO PWRGD status after debounce
5 RO PWRGD rising event status
4 RO PWRGD falling event status
to next page
The following registers can be accessed by the Host and the BMC. Here shows the descriptions for the Host.
The host side MailBox control and base address registers are defined in below SuperIO registers:
SIORE 30
SIORE 60
SIORE 61
SIORE 70
SIORE 71
SIORE F0
Attribute Definition:
Attribute : Description
R : Readable
W : Writable
W1C : Write ’1’ to clear value to 0
X : Unknown value
P : Initialized by PWRST N
Extra 4 Secure I2C controllers (I2CS) are built in A2 revision. They can be assigned to TrustZone or SSP for
security usage. The Secure I2C controller can’t support DMA function.
53.2 Features
53.2.1 I2C Master - all 16 buses
• Compatible with Philips I2C-BUS Specification Version 2.1
• Multi Master Operation Supported
• Software programmable clock frequency
• Software programmable AC timing
• Support a wide range of transmission speed, 0.1Kbps - 5Mbps
• Clock Stretching and Wait state generation/detection
• Interrupt or bit-polling driven byte-by-byte data-transfers
53.2.4 General
• Support totally 16 I2C/SMBus devices.
• All devices can be configured to Alertable SMBus device.
• Support 3 transfer modes:
– Byte mode: 1 byte buffer
– Pool mode: 32 bytes of internal SRAM for each device
– DMA mode: Maximum 4096 bytes to or from SDRAM memory (New Regiser mode)
• Schmitt type of input data buffer and input clock buffers
• Anti-glitch data input filter
• Need external pull-up resistors
8. Increase DMA buffer size to 4096 bytes (new Register mode) and support byte alignment.
9. Re-define the base address of Device1 ∼ Device16 and Pool buffer.
10. Re-define registers for separating master and slave mode control.
11. (New registers) Support 4 individual DMA buffers for master Tx and Rx, slave Tx and Rx.
12. (New registers) Support auto NACK response for slave mode if buffer is not ready.
13. (New registers) New Master packet operation mode: S → Aw → P1 .
14. (New registers) New Master packet operation mode: S → Aw → TxD → P
15. (New registers) New Master packet operation mode: S → Ar → RxD → P
16. (New registers) New Master packet operation mode: S → Aw → TxD → Sr → Ar → RxD → P
17. (New registers) New Slave packet operation mode: S → Aw → autoNACK → P.
18. (New registers) New Slave packet operation mode: S → Aw → RxD → Sr → Ar → autoNACK → P.
19. (New registers) New Slave packet operation mode: S → Aw → RxD → Sr → Ar → TxD → P.
20. (New registers) New packet operation mode for both Master and Slave only support Pool buffer and DMA
modes.
21. (New registers) Byte mode will be disabled while slave packet operation mode is enabled.
22. (New registers) Bus SDA lock auto-release capability for new master DMA command mode.
23. (New registers) Bus auto timeout for new master/slave DMA mode.
PCLK
Base
Clock
tBaseCyc
Because all AC timing definition are based on the Base Clock, so the clock divider
setting is prefer that the value of tCKLow and tCKHigh as larger as possible for increasing
AC timing resolution.
tCKLow
SCL t SUDAT
tCKHigh
tBUF tHDDAT
P S S P
Relationship :
tSUDAT = t CKLow - t HDDAT
$&.
6 $ $ $ $ $ $ $ 5: 3
1$&.
$&.
' ' ' ' ' ' ' '
1$&.
Offset: 00h I2CG00: Device Master Mode Interrupt Status Register (I2CG0C[3] = 1) Init = 0
Offset: 00h I2CG00: Device Master/Slave Mode Interrupt Status Register (I2CG0C[3] = 0) Init = 0
Bit Attr. Description
31:16 RO Reserved (0)
15 RO I2C/SMBus Device #16 Interrupt
14 RO I2C/SMBus Device #15 Interrupt
13 RO I2C/SMBus Device #14 Interrupt
12 RO I2C/SMBus Device #13 Interrupt
11 RO I2C/SMBus Device #12 Interrupt
10 RO I2C/SMBus Device #11 Interrupt
9 RO I2C/SMBus Device #10 Interrupt
8 RO I2C/SMBus Device #9 Interrupt
7 RO I2C/SMBus Device #8 Interrupt
6 RO I2C/SMBus Device #7 Interrupt
5 RO I2C/SMBus Device #6 Interrupt
4 RO I2C/SMBus Device #5 Interrupt
3 RO I2C/SMBus Device #4 Interrupt
2 RO I2C/SMBus Device #3 Interrupt
1 RO I2C/SMBus Device #2 Interrupt
0 RO I2C/SMBus Device #1 Interrupt
0 : No interrupt
1 : Interrupt occurs
Note :
This global register shows the summary report of the interrupt events from all of the 16 devices. There is no need to
clear the interrupt status of this register.
Offset: 04h I2CG04: Device Slave Mode Interrupt Status Register Init = 0
Bit R/W Description
31:16 RO Reserved (0)
15 RO I2C/SMBus Device #16 Interrupt
14 RO I2C/SMBus Device #15 Interrupt
13 RO I2C/SMBus Device #14 Interrupt
12 RO I2C/SMBus Device #13 Interrupt
11 RO I2C/SMBus Device #12 Interrupt
10 RO I2C/SMBus Device #11 Interrupt
9 RO I2C/SMBus Device #10 Interrupt
8 RO I2C/SMBus Device #9 Interrupt
7 RO I2C/SMBus Device #8 Interrupt
6 RO I2C/SMBus Device #7 Interrupt
5 RO I2C/SMBus Device #6 Interrupt
4 RO I2C/SMBus Device #5 Interrupt
3 RO I2C/SMBus Device #4 Interrupt
2 RO I2C/SMBus Device #3 Interrupt
1 RO I2C/SMBus Device #2 Interrupt
to next page
Offset: 10h I2CG10: New Clock Divider Control Register (I2CG0C[1] = 1) Init = 0
Bit R/W Description
31:24 RW Base clock 4 divisor, base divider 4
23:16 RW Base clock 3 divisor, base divider 3
15:8 RW Base clock 2 divisor, base divider 2
to next page
Offset: 04h I2CD04: Clock and AC Timing Control Register #1 Init = 0x0
Bit R/W Description
31:24 RO Reserved (0)
23:20 RO Reserved
It returns the value of I2CD04[19:17].
19:16 RW Cycles of master SCL clock-high pulse width (tCKHigh)
000x: no guarantee pulse width
0011: 4 cycles of Base Clock
0100: 5 cycles of Base Clock
....
1111: 16 cycles of Base Clock
15:12 RW Cycles of master SCL clock-low pulse width (tCKLow)
000x: no guarantee pulse width
0011: 4 cycles of Base Clock
0100: 5 cycles of Base Clock
....
1111: 16 cycles of Base Clock
to next page
Offset: 08h I2CD08: Clock and AC Timing Control Register #2 Init = 0x0
Bit R/W Description
31:5 RO Reserved
to next page
DMA transmit and receive can not be enabled at the same time. The result is un-
predictable.
8 RW Enable Master/Slave Transmit Data DMA Mode
0: Disable
1: Enable
HW will clear this register automatically when data transmitting has been done.
When set, DMA will start to fetch memory data, no matter I2C is start to active or
not. So all the DMA related control registers must be set before enable this bit.
7 RW Enable Master/Slave Receive Data Buffer
0: Disable
1: Enable
This register will be automatically cleared by H/W when data receiving has been done.
6 RW Enable Master/Slave Transmit Data Buffer
0: Disable
1: Enable
This register will be automatically cleared by H/W when data receiving has been done.
5 RW Master Stop Command
0: NOP
1: Issue Master Stop Command
4th priority.
This register will be automatically cleared by H/W when Stop Command has been issued.
This command is valid only when master mode is enabled
4 RW Master/Slave Receive Command Last
0: Receive Command can be continued by responding ACK
1: Receive Command will be ended by responding NACK
When in buffer mode, the last control will acts after the latest byte is been received.
When in Master mode and Stop Command activated, the last control must be set to ending
transfer.
3 RW Master Receive Command
0: NOP
1: Fire Master Receive Command
3rd priority.
HW will clear this register when RX buffer is full or receiving is terminated (Stop/Repeated
Start). This command is valid only when Master mode is enabled
2 RW Slave Transmit Command
0: NOP
1: Fire Slave Transmit Command
HW will clear this register when TX buffer is empty or bus contention error has been
detected.
to next page
HW will automatically clear each command (bit[11:0]) when it has been finished. Beside, HW will clear all
the commands whenever Master Arbitration Lost or invalid Start/Stop conditions have been detected.
Attention: Master and Slave Command cannot be activated at the same time.
This value defines the maximum receive buffer size for Slave mode, or receive command
data byte count for Master mode.
15:13 RO Reserved
12:8 RW Transmit Data Byte Count
0 = 1 byte
1 = 2 bytes
....
31 = 32 bytes
7:1 RO Reserved
0 RW Buffer Organization
0: 32 bytes for Tx or Rx
1: Lower 16 bytes for Tx and higher 16 bytes for Rx
Note :
The buffer is shared by Pool buffer mode and DMA mode of Master and Slave controllers. So there are some
limitations on using the buffer.
1. The buffer can only be used by Master or Slave controller, but not both at a time.
2. When Master or Slave enables DMA mode, then Pool buffer mode can not be used.
Offset: 24h I2CD24: DMA Mode Buffer Address Register Init = 0x80000000
Bit R/W Description
31 RO Reserved (0x1)
30:0 RW SDRAM DMA Buffer Base Address
The base address will be updated while DMA is in progress. To check the original address
setting, it is at I2CD2C.
The length will be decremented by hardware when transfer in progress. After transfer
completed, the actual transmitted length equals total buffer length - current buffer length.
For master mode, the length should be the actual value for transmitting and receiv-
ing.
For slave mode, the length value can be larger than or equal to the actual transmit-
ting/receiving length. Due to the transmit/receive job may be terminated by master at any
length.
Offset: 2Ch I2CD2C: Original DMA Mode Buffer Address Setting Init = 0x0
Bit R/W Description
31:0 RO Original SDRAM DMA Buffer Base Address
Offset: 30h I2CD30: Original DMA Transfer Length Setting and Final Status Init = 0x0
Bit R/W Description
31:29 RO Reserved
28:16 RO The actual DMA transferred length
15:12 RO Reserved
11:0 RO Original DMA Transfer Length (Byte)
Offset: 04h I2CC04: Master/Slave Clock and AC Timing Control Register #1 Init = 0x0
Bit R/W Description
31:29 RO Reserved (0)
28:24 RW Same as I2CD08[4:0]
23:20 RW Cycles of master SCL clock-high minimum pulse width (tCKHighMin)
000x: no guarantee pulse width
0011: 4 cycles of Base Clock
0100: 5 cycles of Base Clock
....
1111: 16 cycles of Base Clock
This register is used to guarantee the minimum SCL high pulse width by sampling the
feedback SCL input.
It should be set to be less than or equal to tCKHigh. The actual SCL high pulse width
is determined by tCKHigh and tCKHighMin. This timing will lengthen the SCL high duty
width, which is depending on the SCL rise time.
19:0 RW Same as I2CD04[19:0]
Offset: 08h I2CC08: Master/Slave Transmit/Receive Byte Buffer Register Init = 0x0A060000
Bit R/W Description
31:16 RO Same as I2CD14[31:16]
15:0 RW Same as I2CD20[15:0]
Offset: 0Ch I2CC0C: Master/Slave Pool Buffer Control Register Init = 0x0
Bit R/W Description
31:0 RW Same as I2CD1C
S → TxD → RxD → P
If packet operation mode is enabled, then the command sequence would become:
S → Aw → TxD → Sr → Ar → RxD → P
HW will clear each command (bit[11:0]) automatically when it is finished. Beside, HW will clear all the com-
mands whenever Master Arbitration Lost or invalid Start/Stop conditions have been detected.
Offset: 30h I2CM30: Master DMA Mode Tx Buffer Base Address Init = X
Offset: 34h I2CM34: Master DMA Mode Rx Buffer Base Address Init = X
Offset: 38h I2CS38: Slave DMA Mode Tx Buffer Base Address Init = X
Offset: 3Ch I2CS3C: Slave DMA Mode Rx Buffer Base Address Init = X
Bit Attr. Description
31 RO Reserved (0x1)
30:0 RW SDRAM DMA Buffer Base Address
Offset: 00h I2CSG00: Device Master Mode Interrupt Status Register (I2CSG0C[3] = 1) Init = 0
Offset: 00h I2CSG00: Device Master/Slave Mode Interrupt Status Register (I2CSG0C[3] = 0) Init = 0
Bit Attr. Description
31:4 RO Reserved (0)
3 RO I2C/SMBus Device #4 Interrupt
2 RO I2C/SMBus Device #3 Interrupt
1 RO I2C/SMBus Device #2 Interrupt
0 RO I2C/SMBus Device #1 Interrupt
0 : No interrupt
1 : Interrupt occurs
Note :
This global register shows the summary report of the interrupt events from all of the 16 devices. There is no need to
clear the interrupt status of this register.
Offset: 04h I2CSG04: Device Slave Mode Interrupt Status Register Init = 0
Bit R/W Description
31:4 RO Reserved (0)
3 RO I2C/SMBus Device #4 Interrupt
2 RO I2C/SMBus Device #3 Interrupt
1 RO I2C/SMBus Device #2 Interrupt
0 RO I2C/SMBus Device #1 Interrupt
0 : No interrupt
1 : Interrupt occurs
Note :
This global register shows the summary report of the interrupt events from all of the 16 devices. There is no need to
clear the interrupt status of this register.
Offset: 10h I2CSG10: New Clock Divider Control Register (I2CSG0C[1] = 1) Init = 0
Bit R/W Description
31:24 RW Base clock 4 divisor, base divider 4
23:16 RW Base clock 3 divisor, base divider 3
15:8 RW Base clock 2 divisor, base divider 2
7:0 RW Base clock 1 divisor, base divider 1
0x00: divided by 1
0x01: divided by 1.5
0x02: divided by 2
0x03: divided by 2.5
....
0xFE: divided by 128
0xFF: divided by 128.5
Offset: 04h I2CSD04: Clock and AC Timing Control Register #1 Init = 0x0
Bit R/W Description
31:24 RO Reserved (0)
23:20 RO Reserved
It returns the value of I2CD04[19:17].
19:16 RW Cycles of master SCL clock-high pulse width (tCKHigh)
000x: no guarantee pulse width
0011: 4 cycles of Base Clock
0100: 5 cycles of Base Clock
....
1111: 16 cycles of Base Clock
to next page
Offset: 08h I2CSD08: Clock and AC Timing Control Register #2 Init = 0x0
Bit R/W Description
31:5 RO Reserved
4:0 RW Timeout timer for SCL low, SDA low, and slave active timeout (tTimeOut)
0: No Timeout Control
1: 1 cycle of Timeout Base Clock
2: 2 cycles of Timeout Base Clock
....
31: 31 cycles of Timeout Base Clock
Timeout Period = tTimeOut*(1/toutBaseClk) = tTimeOut*div / PCLK
ex: Timeout Period = 6* 16384/PCLK = 0.983ms when PCLK = 100MHZ, div=16384 from
I2CSD04[9:8]
DMA transmit and receive can not be enabled at the same time. The result is un-
predictable.
8 RW Enable Master/Slave Transmit Data DMA Mode
0: Disable
1: Enable
HW will clear this register automatically when data transmitting has been done.
When set, DMA will start to fetch memory data, no matter I2C is start to active or
not. So all the DMA related control registers must be set before enable this bit.
7 RW Enable Master/Slave Receive Data Buffer
0: Disable
1: Enable
This register will be automatically cleared by H/W when data receiving has been done.
6 RW Enable Master/Slave Transmit Data Buffer
0: Disable
1: Enable
This register will be automatically cleared by H/W when data receiving has been done.
to next page
HW will automatically clear each command (bit[11:0]) when it has been finished. Beside, HW will clear all
the commands whenever Master Arbitration Lost or invalid Start/Stop conditions have been detected.
Attention: Master and Slave Command cannot be activated at the same time.
This value defines the maximum receive buffer size for Slave mode, or receive command
data byte count for Master mode.
15:13 RO Reserved
12:8 RW Transmit Data Byte Count
0 = 1 byte
1 = 2 bytes
....
31 = 32 bytes
7:1 RO Reserved
0 RW Buffer Organization
0: 32 bytes for Tx or Rx
1: Lower 16 bytes for Tx and higher 16 bytes for Rx
Note :
The buffer is shared by Pool buffer mode and DMA mode of Master and Slave controllers. So there are some
limitations on using the buffer.
1. The buffer can only be used by Master or Slave controller, but not both at a time.
2. When Master or Slave enables DMA mode, then Pool buffer mode can not be used.
Offset: 04h I2CSC04: Master/Slave Clock and AC Timing Control Register #1 Init = 0x0
Bit R/W Description
31:29 RO Reserved (0)
28:24 RW Same as I2CSD08[4:0]
23:20 RW Cycles of master SCL clock-high minimum pulse width (tCKHighMin)
000x: no guarantee pulse width
0011: 4 cycles of Base Clock
0100: 5 cycles of Base Clock
....
1111: 16 cycles of Base Clock
This register is used to guarantee the minimum SCL high pulse width by sampling the
feedback SCL input.
It should be set to be less than or equal to tCKHigh. The actual SCL high pulse width
is determined by tCKHigh and tCKHighMin. This timing will lengthen the SCL high duty
width, which is depending on the SCL rise time.
19:0 RW Same as I2CSD04[19:0]
Offset: 08h I2CSC08: Master/Slave Transmit/Receive Byte Buffer Register Init = 0x0A060000
Bit R/W Description
31:16 RO Same as I2CSD14[31:16]
15:0 RW Same as I2CSD20[15:0]
Offset: 0Ch I2CSC0C: Master/Slave Pool Buffer Control Register Init = 0x0
Bit R/W Description
31:0 RW Same as I2CSD1C
S → TxD → RxD → P
If packet operation mode is enabled, then the command sequence would become:
S → Aw → TxD → Sr → Ar → RxD → P
HW will clear each command (bit[11:0]) automatically when it is finished. Beside, HW will clear all the com-
mands whenever Master Arbitration Lost or invalid Start/Stop conditions have been detected.
2. Set GLOB CLK : Global top Clock Divider(I2CG10) for all devices.
• S → Aw for Slave
– Wait & Clear I2CD10 : RxDone, SlaveMatch(from bit2, bit7) 0x0100 0084
– Check Buffer Data I2CD20[8]=0 (from I2CPROTOCOL, bit0 of Received Byte Buffer will be used
as Read/Write at Aw/Ar stage)
• slave wait for FW → Data → P for Slave RX DMA
– Set I2CD14 = 0x0200 (enable RX DMA)
– Wait & Clear I2CD10 : RxDone if(total length < 0xfff), Normal Stop(from bit2, bit4)
• S → Ar
– Wait & Clear I2CD10 : RxDone, SlaveMatch(from bit2, bit7) 0x0200 0084
– Check Buffer Data I2CD20[8]=1 (from I2CPROTOCOL, bit0 of Received Byte Buffer will be used
as Read/Write at Aw/Ar stage)
• slave wait for FW → Data → P for Slave TX DMA
– Set I2CD14 = 0x0104 (STX DMA)
– Wait & Clear I2CD10 : TxNACK(from bit1)
• The Byte buffer is dedicated to each device controller, but buffer pool is shared.
• The buffer pool can be assigned for Tx and Rx at the same time in a single command.
GPIO Mode
At this mode, SW can implement your own recover mechanism.
Register Address of I3CX Device = (Base Address of Global Register) + (Offset of I3CX) + Offset
X = 0, 1, 2, 3, 4, 5
Offset of I3C0 = 0x2000
Offset of I3C1 = 0x3000
Offset of I3C2 = 0x4000
Offset of I3C3 = 0x5000
Offset of I3C4 = 0x6000
Offset of I3C5 = 0x7000
I3CD000: Device Control Register
I3CD004: Device Address Register
I3CD008: Hardware Capability register
I3CD00C: Command Queue Port
I3CD00CTC: Transfer Command Data Structure
I3CD00CTARG: Transfer Argument Data Structure
54.2 Registers
15 RW static addr en
Slave static address valid
Applicable in only Slave mode of operation.
Active State: High
7 :4 RW pending int
Pending interrupt info for GETSTATUS CCC
Applicable in only Slave mode of operation.
Active State: High
3 :2 RW act mode
Slave activity mode for GETSTATUS CCC
Applicable in only Slave mode of operation.
Active State: High
0 RW mode i2c
I2C or I3C mode select signal
Applicable in only Slave mode of operation.
Active State: High
19:16 RW inst id
Slave instance ID
Applicable in only Slave mode of operation.
Active State: High
15 RW static addr en
Slave static address valid
Applicable in only Slave mode of operation.
Active State: High
7 :4 RW pending int
Pending interrupt info for GETSTATUS CCC
Applicable in only Slave mode of operation.
Active State: High
3 :2 RW act mode
Slave activity mode for GETSTATUS CCC
Applicable in only Slave mode of operation.
Active State: High
0 RW mode i2c
15 RW static addr en
Slave static address valid
Applicable in only Slave mode of operation.
Active State: High
7 :4 RW pending int
Pending interrupt info for GETSTATUS CCC
Applicable in only Slave mode of operation.
Active State: High
3 :2 RW act mode
Slave activity mode for GETSTATUS CCC
Applicable in only Slave mode of operation.
Active State: High
0 RW mode i2c
I2C or I3C mode select signal
Applicable in only Slave mode of operation.
Active State: High
15 RW static addr en
Slave static address valid
Applicable in only Slave mode of operation.
Active State: High
7 :4 RW pending int
Pending interrupt info for GETSTATUS CCC
Applicable in only Slave mode of operation.
Active State: High
3 :2 RW act mode
Slave activity mode for GETSTATUS CCC
Applicable in only Slave mode of operation.
Active State: High
0 RW mode i2c
I2C or I3C mode select signal
Applicable in only Slave mode of operation.
Active State: High
15 RW static addr en
Slave static address valid
Applicable in only Slave mode of operation.
Active State: High
7 :4 RW pending int
Pending interrupt info for GETSTATUS CCC
Applicable in only Slave mode of operation.
Active State: High
3 :2 RW act mode
Slave activity mode for GETSTATUS CCC
Applicable in only Slave mode of operation.
Active State: High
0 RW mode i2c
I2C or I3C mode select signal
Applicable in only Slave mode of operation.
Active State: High
15 RW static addr en
Slave static address valid
Applicable in only Slave mode of operation.
Active State: High
7 :4 RW pending int
Pending interrupt info for GETSTATUS CCC
Applicable in only Slave mode of operation.
Active State: High
3 :2 RW act mode
Slave activity mode for GETSTATUS CCC
Applicable in only Slave mode of operation.
Active State: High
0 RW mode i2c
I2C or I3C mode select signal
Applicable in only Slave mode of operation.
Active State: High
30 RW I3C Resume
This bit is used to resume the Controller after it goes to Halt state.
In the master mode of operation the controller goes to the halt state (as indicated in
PRESENT STATE Register) due to any type of error in the transfer (the type of error is
indicated by ERR STATUS field in the RESPONSE QUEUE PORT register).
After the controller has gone to halt state, the application has to write 1’b1 to this bit to
resume the controller. This bit is auto-cleared once the controller resumes the transfers by
initiating the next command.
In the slave mode of operation the controller goes to the halt state due to following condi-
tions 1 -¿ Any type of error in the transfer (the type of error is indicated by ERR STATUS
field in the RESPONSE QUEUE PORT rigister) 2 -¿ MRL Register updated by the master
through SETMRL CCC.
After the controller has gone to halt state, the application has to take necessary action to
handle the error condition and then write 1’b1 to this bit to resume the controller. This bit
is auto-cleared once the controller is ready to accept new transfers.
Value After Reset: 0x0
Volatile: true
29 RW I3C Abort.
This bit is used in master mode of operation.
This bit allows the user to relinquish the I3C bus before completing the issued transfer.
In response to an ABORT request, the controller issues the STOP condition after the
complete data byte is transferred or recieved.
This bit is auto-cleared once the transfer is aborted and controller issues a ’Transfer Abort’
interrupt.
Value After Reset: 0x0
Volatile: true
26 R RSVD26: These bits in Device Control Register is reserved. It will always return 0.
Value After Reset: 0x0
15:11 R RSVD11 15: These bits in Device Control Register is reserved. It will always return
0. These bits are reserved in slave mode of operation
Value After Reset: 0x0
30:23 R RSVD 30 23: These bits in Device Address Register are reserved. It will always
return 0.
Value After Reset: 0x0
14:7 R RSVD 14 7: These bits in Device Address Register are reserved. It will always
return 0.
Value After Reset: 0x0
to next page
19 R SLV IBI CAP: Specifies slave’s capability to initiate slave interrupt requests.
16:11 R HDR TX CLOCK PERIOD: Reflects the IC HDR TX CLK PERIOD Configurable Pa-
rameter.
4 R
Specifies master’s capability to initiate HDR-TS transfers.
0 : HDR-TS not supported
1 : HDR-TS supported
Value After Reset: 0x1
3 R
Specifies master’s capability to initiate HDR-DDR transfers.
0 : HDR-DDR not supported
1 : HDR-DDR supported
Value After Reset: 0x1
to next page
6:3 W TID
Transaction ID This Field is used as the identification tag for the commands. The I3C
controller returns this ID along with the response upon completion or upon error.
- 4’b0000 - 4’b0111 - User Defined TID
- 4’b1000 - 4’b1111 - Reserved for I3C controller.
14:7 W CMD
Transfer Command This field is used to define the Transfer Command type. The field can
be programmed to:
1. 8-bit Common Command Code for CCC transfers.
2. 7-bit Command Code for HDR-TS or HDR-DDR transfers (bit[14] is reserved).
15 W CP
Command Present This bit is used to control whether the transfer should be initiated with
the Transfer Command represented in the ’CMD’ filed or not.
- 0 - CMD field is not valid
- 1 - CMD field is valid
This bit is applicable for CCC and HDR transfers.
to next page
25:24 W RESV
Reserved
26 W ROC
Response On Completion This field indicates whether the Response Status is required or
not, after the execution of this command for the successful transfer.
- 1 - Response Status is required.
- 0 - Response Status is not required.
Note:
1) The exception to the above control is that the response status gets generated when the
transfer has encountered an error condition.
2) It is recommended that the ROC bit is always set to 1 for the Read commands (RnW=1),
so that the number of data received is indicated (through DATA LENGTH field in Response
port) if the Slave terminates early than the Master.
27 W SDAP
Short Data Argument Present
This field indicates whether the command written prior to the Base command should be
treated as Short Data Argument or the Transfer Argument.
- 0 - Prior written command is Transfer Argument.
- 1 - Prior written command is Short Data Argument.
28 W RnW
Read and Write
This bit controls whether a Read or Write transfer is performed.
- 0 - Write Transfer
- 1 - Read Transfer
Note: In HDR transfers, this bit is used to set the Read/Write flag of the HDR-TS/HDR-
DDR Command Code.
29 W RESV
Reserved
to next page
31 W PEC
Parity Error Check Enable
This bit enables generation and validation of PEC
byte for SDR CCC and private transfers.
- 0: PEC check is disabled.
- 1: PEC check is enabled.
Note: This bit is valid only for SDR Transfers and not for HDR Transfers.
7:3 W RESV
Reserved
15:8 W DB
Defining Byte Value
DB indicates the 8-bit defining byte to be transferred in the CCC transfer. This byte is valid
only when both CP and DBP bits are enabled, otherwise the controller ignores this byte.
31:16 W DL
Data Length
This field is used to indicate the Data length of the transfer.
7:6 W RESV
Reserved
to next page
14:7 W CMD
Transfer Command This field is used to define the Transfer Command type. The field can
be programmed to:
1. 8-bit Common Command Code for CCC transfers.
2. 7-bit Command Code for HDR-TS or HDR-DDR transfers (bit[14] is reserved).
15 W CP
Command Present This bit is used to control whether the transfer should be initiated with
the Transfer Command represented in the ’CMD’ filed or not.
- 0 - CMD field is not valid
- 1 - CMD field is valid
This bit is applicable for CCC and HDR transfers.
25:24 W RESV
Reserved
26 W ROC
Response On Completion This field indicates whether the Response Status is required or
not, after the execution of this command for the successful transfer.
- 1 - Response Status is required.
- 0 - Response Status is not required.
Note:
1) The exception to the above control is that the response status gets generated when the
transfer has encountered an error condition.
2) It is recommended that the ROC bit is always set to 1 for the Read commands (RnW=1),
so that the number of data received is indicated (through DATA LENGTH field in Response
port) if the Slave terminates early than the Master.
29:27 W RESV
Reserved
to next page
31 W RESV
Reserved
27:24 R TID
Transaction ID
This Field is used as the identification tag for the commands. The I3C controller returns
the ID received through commands.
- 4’b0000 - 4’b0111 - User Defined TID (specified in the Transfer/Address Assignment
Command)
- 4’b1000 - Master Write Data Status (Slave only)
- 4’b1111 - CCC Write Data Status.
- 4’b1001 - 4’b1110 - Reserved for I3C controller.
23:16 R CCCT
CCC/HDR Header Type
This field represents the CCC type of the received vendor extension CCC packet or the
HDR header of the received HDR transaction.
This field indicates the CCC type when the TID is set to 4’b1111 (reserved for all other
transactions). During the master transactions and slave non-HDR transactions, this field
returns 4’b0000 and can be considered as don’t care.
to next page
Offset: 18h IBI QUEUE DATA: In-Band Interrupt Queue Data Register Init = 0
Bit R/W Description
31:0 R In-Band Interrupt Data
This register is mapped to the IBI Queue.The IBI Data is always packed in 4-byte aligned
and put to the IBI Queue. If the incoming data is not aligned to the 4-bytes, then there will
be unused bytes in the end location of the IBI transfer.
Offset: 18h IBI QUEUE STATUS: In-Band Interrupt Queue Status Register Init = 0
Bit R/W Description
31 R IBI Status
Indicates the status of the response returned for the received IBI.
1b0: The received IBI is responded with an ACK. Any non-zero value of the DATA LEN
field indicates the presence of data payload for the ACKed IBI.
1b1: The received IBI is responded with a NACK. An auto disable CCC command is issued
if the received IBI address is valid and matching with the DAT entry.
If an IBI is received from an unknown address (not a valid entry in DAT), the IBI STS is set
to 1
to next page
29:25 R These bits in IBI Queue Status Data Register are reserved. It will always return 0.
24 R LAST STATUS
When set, indicates that this status is the last for the received IBI. If the payload of the
received SIR exceeds the programmed IBI data threshold, then the controller splits the IBI
payload into multiple chunks of IBI DATA THLD size (max) which includes the timestamp
bytes if enabled.
23:16 R These bits in IBI Queue Status Data Register are reserved. It will always return 0.
Offset: 1Ch QUEUE THLD CTRL: Queue Threshold Control Register Init = 0
Bit R/W Description
31:24 RW In-Band Interrupt Status Threshold Value.
Every In Band Interrupt received (with or without data) by I3C controller generates an IBI
status. This field controls the number of IBI status entries (or above) in the IBI queue that
trigger the IBI THLD STAT interrupt. The valid range is 0 to 7. The software shall program
only valid values. A value of 0 sets the threshold for 1 entry, and a value of N sets the
threshold for N+1 entries.
Value After Reset: 0x1
to next page
Offset: 20h DATA BUFFER THLD CTRL: Data Buffer Threshold Control Register Init = 0
Bit R/W Description
31:28 R RSVD 31 28: These bits in Data Buffer Threshold Control register are reserved.
It will always return 0.
27 R RSVD 27: These bits in Data Buffer Threshold Control register are reserved.
It will always return 0.
23:20 R RSVD 23 20: These bits in Data Buffer Threshold Control Register are reserved.
It will always return 0.
19 R RSVD 19: These bits in Data Buffer Threshold Control Register are reserved.
It will always return 0.
to next page
ASPEED Confidential All rights reserved. 1077 May 6, 2021
ASPEED AST2600 A3 Datasheet – V0.9
15:12 R RSVD 15 12: These bits in Data Buffer Threshold Control Register are reserved.
It will always return 0.
11 R RSVD 11: These bits in Data Buffer Threshold Control register are reserved.
It will always return 0.
7 :4 R RSVD 7 4: These bits in Data Buffer Threshold Control Register are reserved.
It will always return 0.
3 R RSVD 3: These bits in Data Buffer Threshold Control register are reserved.
It will always return 0.
to next page
Offset: 24h IBI QUEUE CTRL: IBI Queue Control Register Init = 0
Bit R/W Description
31:4 R
These bits in IBI queue control register are reserved. It will always return 0.
Value After Reset: 0x0
to next page
Offset: 2Ch IBI MR REQ REJECT: IBI MR Request Rejection Control Register Init = 0
Bit R/W Description
31:0 RW In-band Master Request Reject.
The control bits of this field determines if the controller ACK’s incoming Master Request
or NACKs and Disables it. A device specific policy can be established by appropriately
programming this register.
- 0: ACK Master Request
- 1: NACK and send Directed DISEC CCC to disable the interrupting slave.
Value After Reset: 0x0
Offset: 30h IBI SIR REQ REJECT: IBI SIR Request Rejection Control Register Init = 0
Bit R/W Description
31:0 RW In-band Slave Interrupt Request Reject.
The application of the DWC mipi i3c can decide whether to send ACK or NACK for a Slave
request received from any I3C device.
A device specific response control bit is provided to selectthe response option. Master will
ACK/NACK the MasterRequest based on programming of control bit, correspondingto the
interrupting device.
- 0: ACK the SIR Request
- 1: NACK and send directed auto disable CCC.
Value After Reset: 0x0
to next page
Offset: 38h SLV EVENT CTRL: Slave Event Control Register Init = 0
Bit R/W Description
31:8 R RSVD 31 6: These bits in Slave Event Control Register are reserved.
It will always return 0.
Value After Reset: 0x0
14 R
It will always return 0.
Value After Reset: 0x0
to next page
to next page
0 RW TX THLD STAT
Transmit Buffer Threshold Status.
This interrupt is generated when number of empty locations in transmit buffer is
greater than or equal to threshold value specified by TX EMPTY BUF THLD field in
DATA BUFFER THLD CTRL register. This interrupt will be cleared automatically when
number of empty locations in transmit buffer is less than threshold value specified.
Value After Reset: 0x0
Offset: 40h INTR STATUS EN: Interrupt Status Enable Register Init = 0
Bit R/W Description
31:16 R
These bits in Interrupt Status Register are reserved. It will always return 0.
Value After Reset: 0x0
14 R
These bit in Interrupt Status Register are reserved. It will always return 0.
Value After Reset: 0x0
10 RW DEFSLV STAT EN
Define Slave CCC Received Status Enable.
Value After Reset: 0x0
to next page
1 RW RX THLD STAT EN
Receive Buffer Threshold Status Enable.
Value After Reset: 0x0
0 RW TX THLD STAT EN
Transmit Buffer Threshold Status.
Value After Reset: 0x0
Offset: 44h INTR SINGAL EN: Interrupt Signal Enable Register Init = 0
Bit R/W Description
31:16 R
These bits in Interrupt Status Register are reserved. It will always return 0.
Value After Reset: 0x0
to next page
14 R
These bit in Interrupt Status Register are reserved. It will always return 0.
Value After Reset: 0x0
10 RW DEFSLV SIGNAL EN
Define Slave CCC Received Signal Enable.
Value After Reset: 0x0
to next page
1 RW RX THLD SIGNAL EN
Receive Buffer Threshold Signal Enable.
Value After Reset: 0x0
0 RW TX THLD SIGNAL EN
Transmit Buffer Threshold Signal Enable.
Value After Reset: 0x0
14 W
These bits in Interrupt Status Register are reserved. It will always return 0.
Value After Reset: 0x0
10 W DEFSLV FORCE EN
Define Slave CCC Received Force Enable.
Value After Reset: 0x0
to next page
1 W RX THLD FORCE EN
Receive Buffer Threshold Force Enable.
Value After Reset: 0x0
0 W TX THLD FORCE EN
Transmit Buffer Threshold Force Enable.
Value After Reset: 0x0
Offset: 4Ch QUEUE STATUS LEVEL: QUEUE STATUS LEVEL Register Init = 0
Bit R/W Description
31:19 R
These bits in Queue Status Level Register are reserved. It will always return 0.
This field is used in master mode of operation.
Value After Reset: 0x0
Offset: 50h DATA BUFFER STATUS LEVEL: DATA BUFFER STATUS LEVEL Register Init = 0
Bit R/W Description
31:24 R RSVD 31 24: These bits in Data Buffer Level Register are reserved.
It will always return 0.
Value After Reset: 0x0
15:8 R RSVD 15 8: These bits in Data Buffer Level Register are reserved.
It will always return 0.
Value After Reset: 0x0
28 R MASTER IDLE
This field reflects whether the Master Controller is in Idle state or not. This bit is set when
all the Queues(Command , Response, IBI) and Buffers(Transmit and Receive) are empty
along with the Master State machine is in Idle state.
Values:
- 0x0 (MST NOT IDLE): Master Controller is not in IDLE State
- 0x1 (MST IDLE): Master Controller is in IDLE State.
Value After Reset: 0x1
22:23 R RSVD 22 23
These bits in Present State Register are reserved. It will always return 0.
Value After Reset: 0x0
14:15 R RSVD 14 15: These bits in Present State Register are reserved.
It will always return 0.
Value After Reset: 0x0
to next page
2 R CURRENT MASTER
This Bit is used to check whether the Master is Current Master or not. The Current Master
is the Master that owns the SCL line.
If this bit is set to 0, the Master is not Current Master and requires to request and the
ownership before initiating any transfer on the line.
If this bit is set to 1, the Master is the Current Master and can initate the transfers on the
line.
- 0: Master is not Current Master
- 1: Master is Current Master
Values:
- 0x0 (NOT BUS OWNER): Master is not a Current Master
- 0x1 (BUS OWNER): Master is Current Master
Value After Reset: 0x0
Volatile: true
to next page
13 R FRAME ERROR
Buffer not available
This bit is set when private write request from Master has frame error in HDR-DDR/HDR-
TSP/TSL mode. This is cleared only after Master reads the device status through GET-
STATUS CCC.
Value After Reset: 0x0
Volatile: true
to next page
9 R SLAVE BUSY
Slave Busy This bit is set if any change is made by the current master in to MRL register
or occurance of any error. It is cleared after slave application resumes the slave operation
by writing 1’b1 in RESUME field of Device Control Register.
Value After Reset: 0x0
Volatile: true
10 R UNDER ERR
Underflow Error
Under Flow Error during private master read transfer. This bit is set if slave controller
terminates a read transfer because of Value After Reset: 0x0
Volatile: true
7 :6 R ACTIVITY MODE
Activity Mode This field reflects the input port signal act mode.
Value After Reset: 0x0
Volatile: true
7 :6 R PROTOCOL ERR
Protocol Error
This bit will be set when the slave controller encouters a Parity/CRC error during write data
transfer.
Value After Reset: 0x0
Volatile: true
3 :0 R PENDING INTR
Pending Interrupt
This field reflects the value driven on pending int input port.
Value After Reset: 0x0
Volatile: true
Offset: 5Ch DEVICE ADDR TABLE POINTER: Pointer for Device Address Table Registers Init = 0
Bit R/W Description
31:16 R DEV ADDR TABLE DEPTH
Depth of Device Address Table
Value After Reset: 0x8
to next page
Offset: 60h DEV CHAR TABLE POINTER: Pointer for Device Characteristics Table Init = 0
Bit R/W Description
31:22 R RSVD 31 24
These bits in Device Characteristics Table Pointer Register are reserved. It will always
return 0.
Value After Reset: 0x0
Offset: 6Ch VENDOR SPECIFIC REG POINTER: Pointer for Vendor specific Registers. Init = 0
Bit R/W Description
31:16 R RSVD
These bits in Vendor Specific Pointer Register are reserved. It will always return 0.
Offset: 78h SLV CHAR CTRL: I3C Slave Characteristic Register Init = 0
Bit R/W Description
31:24 R RSVD
These bits in I3C Slave Characteristic Register are reserved. User must ignore the values
of these bits.
Value After Reset: 0x0
23:16 R HDR CAP
These bits in I3C Slave Characteristic Register are reserved. User must ignore the values
of these bits.
I3C Device HDR Capability Register Value.
HDR CAP[2] - HDR Mode 2
HDR CAP[1] - HDR Mode 1
HDR CAP[1] - HDR Mode 0
Others - Reserved
Value After Reset: 0x7
15:8 R DCR
I3C Device Characteristic Value.
Value After Reset: 0x0
to next page
Offset: 7Ch SLV MAX LEN: I3C Max Write/Read Length Register Init = 0
Bit R/W Description
31:16 R MRL
I3C Device Max Read Length.
Value After Reset: 0xff
15:0 R MWL
I3C Device Max Read Length.
Value After Reset: 0xff
Offset: 80h MAX READ TURNAROUND: MXDS Maximum Read Turnaround Time Register Init = 0
Bit R/W Description
31:24 R
These bits in Maximum Read Turnaround Time Register are reserved. User must ignore
the values of these bits.
Offset: 84h MAX DATA SPEED: MXDS Maximum Data Speed Register Init = 0
Bit R/W Description
31:19 R
These bits in Maximum Read Turnaround Time Register are reserved. User must ignore
the values of these bits.
to next page
15:11 R
RSVD 15 11: These bits in MXDS Maximum Data Speed Register are reserved. User
must ignore the values of these bits
7 :3 R RSVD 7 3: These bits in MXDS Maximum Data Speed Register are reserved.
User must ignore the values of these bits.
Offset: 8Ch SLV INTR REQ: Slave Interrupt Request Register Init = 0
Bit R/W Description
31:24 R RSVD 31 24: These bits in Slave Interrupt Request Register are reserved.
It will always return 0.
Value After Reset: 0x0
23:10 R RSVD 23 10: These bits in Slave Interrupt Request Register are reserved.
It will always return 0.
Value After Reset: 0x0
to next page
3 RW MIR
Master Interrupt Request
When set, the Secondary Master controller initiates Master Request on I3C bus. Once
the Master Request is ACK’ed by the current master the secondary master clears this bit
automatically. If NACK is received for MIR, the controller will reattempt the MIR upon the
next START or Bus Available time.
Value After Reset: 0x0
Volatile: true
2 :1 RW SIR CTRL
Slave Interrupt Request Control
- 2’b00 : Initiate SIR-IBI
- 2’b01 : Reserved
- 2’b10 : Reserved
- 2’b11 : Reserved
Value After Reset: 0x0
0 RW SIR
Slave Interrupt Request
When set, the slave controller initiates the SIR on the I3C bus based on the trigger control
set in the SIR CTRL field of the Slave Interrupt Request register. Once the SIR is suc-
cessfully transferred to the current master (ACK received), the slave controller clears this
bit automatically. If the NACK response is received for the SIR, the controller will reattempt
the SIR in the next START or Bus Free time. The slave controller will clear this bit and will
not attempt to initiate the SIR if the SIR EN is not set in the Slave Event Control Register.
Value After Reset: 0x0
Offset: 90h SLV TSX SYMBL TIMING: TSP/TSL Symbol Timing Register Init = 0
Bit R/W Description
31:6 R RSVD 31 6: These bits in TSX symbol timing register is reserved.
It will always return 0.
Offset: B0h DEVICE CTRL EXTENDED: Device Control Extended Register Init = 0
Bit R/W Description
31:4 R
RSVD: These bits in Device Control Extended Register is reserved. It will always return 0.
1 :0 RW
This bit is used to select the Device Operation Mode.
- 0: Master
- 1: Slave
- 2: Reserved
- 3: Reserved
NOTE: Only Master role is supported in this release.
Values:
- 0x0 (MASTER): Master
- 0x1 (SLAVE): Slave
Value After Reset: 0x0
Volatile: true
Offset: B4h SCL I3C OD TIMING: SCL I3C Open Drain Timing Register Init = 0
Bit R/W Description
31:24 R RSVD 31 24: These bits in SCL I3C OD timing register are reserved.
It will always return 0.
15:8 R RSVD 15 8: These bits in SCL I3C OD timing register are reserved.
It will always return 0.
7 :0 RW I3C OD LCNT
I3C Open Drain Low Count.
SCL open-drain low count (I3C) for I3C transfers targeted to I3C devices.
Value After Reset: 0x10
Offset: B8h SCL I3C PP TIMING: SCL I3C Push Pull Timing Register Init = 0
Bit R/W Description
31:24 R RSVD 31 24: These bits in SCL I3C Push Pull Timing Register are reserved.
It will always return 0.
15:8 R RSVD 15 8: These bits in SCL I3C Push Pull Timing Register are reserved.
It will always return 0.
7 :0 RW I3C PP LCNT
I3C Push Pull Low Count.
SCL push-pull low count (I3C) for I3C transfers targeted to I3C devices.
Value After Reset: 0xA
Offset: BCh Init = SCL I2C FM TIMING: SCL I2C Fast Mode Timing Register
Bit R/W Description
0 RW I2C FM HCNT
31:16 I2C Fast Mode High Count
The SCL open-drain high count timing for I2C fast mode transfers.
Value After Reset: 0x10
Offset: C0h SCL I2C FMP TIMING: SCL I2C Fast Mode Plus Timing Register Init = 0
Bit R/W Description
31:24 R RSVD 31 24: These bits in SCL I2C FM plus timing register are reserved.
It will always return 0.
Offset: C8h SCL EXT LCNT TIMING: SCL Extended Low Count Timing Register Init = 0
Bit R/W Description
31:24 RW I3C EXT LCNT 4
I3C Extended Low Count Register 4
SDR4 uses this register field for data transfer.
Value After Reset: 0x20
Offset: CCh SCL EXT TERMN LCNT TIMING: SCL Termination Bit Low count Timing Register Init = 0
Bit R/W Description
31:20 R RSVD
These bits in SCL Termination Bit Low count timing register is reserved. It will always
return 0.
15:4 R RSVD
These bits in SCL Termination Bit Low count timing register is reserved. It will always
return 0.
Offset: D0h SDA HOLD SWITCH DLY TIMING: SDA Hold and Mode Switch Delay Timing Register Init = 0
Bit R/W Description
31:19 RW RSVD
Value After Reset: 0x0
15:11 RW RSVD
Value After Reset: 0x0
7 :3 RW RSVD
Value After Reset: 0x0
Offset: D4h BUS FREE TIMING: Bus Free Timing Register Init = 0
Bit R/W Description
31:16 RW I3C IBI FREE
This register field is used only in Slave mode of operation Bus Available Count Value. This
field is used by the Slave/Non-current Master to initiate an IBI after STOP condition.
Value After Reset: 0x20
Offset: D8h BUS IDLE TIMING: Bus Idle Timing Register Init = 0
Bit R/W Description
31:20 R RSVD
These bits in Bus Idle Timing Register is reserved. It will always return 0.
to next page
Offset: DCh SCL LOW MST EXT TIMEOUT: SCL Low Master Extended Timeout Register Init = 0
Bit R/W Description
31:26 R RSVD
These bits in Bus Idle Timing Register is reserved. It will always return 0.
Offset: E4h I3C VER TYPE: I3C Version TYPE Register Init = 0
Bit R/W Description
31:0 R I3C VER TYPE
Current release type
This field indicates the Synopsys DesignWare Cores
DWC mipi i3c current release type that is read by an application.
For example, release type ”ga” is represented in ASCII as 0x6761 and ”ea” is represented
as 0x6561. Lower 16 bits read from this register can be ignored by the application if
release type is ”ga”. If release type is ”ea” the lower 16 bits represents the ”ea” release
version.
An application reading this register along with the I3C VER ID register, gathers details of
the current release.
Value After Reset: 0x3130302a
Offset: E8h QUEUE SIZE CAPABILITY: I3C Queue Size Capability Register Init = 0
Bit R/W Description
31:20 R
These bits in Component Parameter Register 1 are reserved. It will always return 0.
Value After Reset: 0x0
7 :4 R RX BUF SIZE
Recieve Data Buffer Size
This field reflects the configured Recieve Buffer size (in DWORDS) in Encoded Values.
Values:
- 0x0: 2 DWORDS
- 0x1: 4 DWORDS
- 0x2: 8 DWORDS
- 0x3: 16 DWORDS
- 0x5: 64 DWORDS
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device1
Value After Reset: 0x0
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device2
Testable: untestable
Volatile: true
15:8 R BCR
Bus Characteristic Value
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device3
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device4
Testable: untestable
Volatile: ture
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device5
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device6
Testable: untestable
Volatile: true
15:8 R BCR
Bus Characteristic Value
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device7
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device8
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device9
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device10
Testable: untestable
Volatile: true
15:8 R BCR
Bus Characteristic Value
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device11
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device12
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device13
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device14
Testable: untestable
Volatile: true
15:8 R BCR
Bus Characteristic Value
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device15
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device16
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device17
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device18
Testable: untestable
Volatile: true
15:8 R BCR
Bus Characteristic Value
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device19
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device20
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device21
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device22
Testable: untestable
Volatile: true
15:8 R BCR
Bus Characteristic Value
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device23
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device24
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device25
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device26
Testable: untestable
Volatile: true
15:8 R BCR
Bus Characteristic Value
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device27
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device28
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device29
Testable: untestable
Volatile: true
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device30
Testable: untestable
Volatile: true
15:8 R BCR
Bus Characteristic Value
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device31
Testable: untestable
Volatile: true
to next page
7 :0 R DYNAMIC ADDR
The Dynamic Addr of Device32
Testable: untestable
Volatile: true
Offset: 280h DEV ADDR TABLE LOC1: Device Address Table of Device1 Init = 0
Bit R/W Description
31 RW LEGACY I2C DEVICE
Legacy I2C device or not.
This bit should be set to 1 if the device is a legacy I2C device.
Testable: untestable
28:26 R RSVD 28 26: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
to next page
14 RW MR REJECT: In-Band Master Request Reject field is used to control, per device,
whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
13 RW SIR REJECT: In-Band Slave Interrupt Request Reject field is used to control, per
device, whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
12 RW IBI WITH DATA:Mandatory one or more data bytes follow the accepted IBI from the
device. Data byte continuation is indicated by T-Bit.
- 0x0 - IBI Without Mandatory Byte
- 0x1 - IBI with one or more Mandatory Bytes.
Testable: untestable
11 RW IBI PEC EN:Packet Error Check enabled for accepted IBI from the device. PEC byte
is appended at the end of IBI data from the device. This bit controls whether PEC
check should be performed for IBI data from device. This bit also controls whether
PEC byte has to be send for auto disable CCC when controller NACKs the IBI.
- 0x0 - Packet Error Check disabled for IBI
- 0x1 - Packet Error Check enabled for IBI
This field is applicable only if configuration parameter ’IC HAS PEC’ is set to 1.
Testable: untestable
10:7 R RSVD 15 7: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
Offset: 284h DEV ADDR TABLE LOC2: Device Address Table of Device2 Init = 0
Bit R/W Description
31 RW LEGACY I2C DEVICE
Legacy I2C device or not.
This bit should be set to 1 if the device is a legacy I2C device.
Testable: untestable
to next page
28:26 R RSVD 28 26: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
15 R RSVD 15: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
14 RW MR REJECT: In-Band Master Request Reject field is used to control, per device,
whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
13 RW SIR REJECT: In-Band Slave Interrupt Request Reject field is used to control, per
device, whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
12 RW IBI WITH DATA:Mandatory one or more data bytes follow the accepted IBI from the
device. Data byte continuation is indicated by T-Bit.
- 0x0 - IBI Without Mandatory Byte
- 0x1 - IBI with one or more Mandatory Bytes.
Testable: untestable
to next page
Testable: untestable
10:7 R RSVD 15 7: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
Offset: 288h DEV ADDR TABLE LOC3: Device Address Table of Device3 Init = 0
Bit R/W Description
31 RW LEGACY I2C DEVICE
Legacy I2C device or not.
This bit should be set to 1 if the device is a legacy I2C device.
Testable: untestable
28:26 R RSVD 28 26: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
to next page
15 R RSVD 15: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
14 RW MR REJECT: In-Band Master Request Reject field is used to control, per device,
whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
13 RW SIR REJECT: In-Band Slave Interrupt Request Reject field is used to control, per
device, whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
12 RW IBI WITH DATA:Mandatory one or more data bytes follow the accepted IBI from the
device. Data byte continuation is indicated by T-Bit.
- 0x0 - IBI Without Mandatory Byte
- 0x1 - IBI with one or more Mandatory Bytes.
Testable: untestable
11 RW IBI PEC EN:Packet Error Check enabled for accepted IBI from the device. PEC byte
is appended at the end of IBI data from the device. This bit controls whether PEC
check should be performed for IBI data from device. This bit also controls whether
PEC byte has to be send for auto disable CCC when controller NACKs the IBI.
- 0x0 - Packet Error Check disabled for IBI
- 0x1 - Packet Error Check enabled for IBI
This field is applicable only if configuration parameter ’IC HAS PEC’ is set to 1.
Testable: untestable
10:7 R RSVD 15 7: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
Offset: 28Ch DEV ADDR TABLE LOC4: Device Address Table of Device4 Init = 0
Bit R/W Description
31 RW LEGACY I2C DEVICE
Legacy I2C device or not.
This bit should be set to 1 if the device is a legacy I2C device.
Testable: untestable
28:26 R RSVD 28 26: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
15 R RSVD 15: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
14 RW MR REJECT: In-Band Master Request Reject field is used to control, per device,
whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
13 RW SIR REJECT: In-Band Slave Interrupt Request Reject field is used to control, per
device, whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
to next page
Testable: untestable
11 RW IBI PEC EN:Packet Error Check enabled for accepted IBI from the device. PEC byte
is appended at the end of IBI data from the device. This bit controls whether PEC
check should be performed for IBI data from device. This bit also controls whether
PEC byte has to be send for auto disable CCC when controller NACKs the IBI.
- 0x0 - Packet Error Check disabled for IBI
- 0x1 - Packet Error Check enabled for IBI
This field is applicable only if configuration parameter ’IC HAS PEC’ is set to 1.
Testable: untestable
10:7 R RSVD 15 7: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
Offset: 290h DEV ADDR TABLE LOC5: Device Address Table of Device5 Init = 0
Bit R/W Description
31 RW LEGACY I2C DEVICE
Legacy I2C device or not.
This bit should be set to 1 if the device is a legacy I2C device.
Testable: untestable
28:26 R RSVD 28 26: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
to next page
15 R RSVD 15: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
14 RW MR REJECT: In-Band Master Request Reject field is used to control, per device,
whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
13 RW SIR REJECT: In-Band Slave Interrupt Request Reject field is used to control, per
device, whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
12 RW IBI WITH DATA:Mandatory one or more data bytes follow the accepted IBI from the
device. Data byte continuation is indicated by T-Bit.
- 0x0 - IBI Without Mandatory Byte
- 0x1 - IBI with one or more Mandatory Bytes.
Testable: untestable
11 RW IBI PEC EN:Packet Error Check enabled for accepted IBI from the device. PEC byte
is appended at the end of IBI data from the device. This bit controls whether PEC
check should be performed for IBI data from device. This bit also controls whether
PEC byte has to be send for auto disable CCC when controller NACKs the IBI.
- 0x0 - Packet Error Check disabled for IBI
- 0x1 - Packet Error Check enabled for IBI
This field is applicable only if configuration parameter ’IC HAS PEC’ is set to 1.
Testable: untestable
10:7 R RSVD 15 7: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
to next page
Offset: 294h DEV ADDR TABLE LOC6: Device Address Table of Device6 Init = 0
Bit R/W Description
31 RW LEGACY I2C DEVICE
Legacy I2C device or not.
This bit should be set to 1 if the device is a legacy I2C device.
Testable: untestable
28:26 R RSVD 28 26: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
15 R RSVD 15: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
14 RW MR REJECT: In-Band Master Request Reject field is used to control, per device,
whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
to next page
Testable: untestable
12 RW IBI WITH DATA:Mandatory one or more data bytes follow the accepted IBI from the
device. Data byte continuation is indicated by T-Bit.
- 0x0 - IBI Without Mandatory Byte
- 0x1 - IBI with one or more Mandatory Bytes.
Testable: untestable
11 RW IBI PEC EN:Packet Error Check enabled for accepted IBI from the device. PEC byte
is appended at the end of IBI data from the device. This bit controls whether PEC
check should be performed for IBI data from device. This bit also controls whether
PEC byte has to be send for auto disable CCC when controller NACKs the IBI.
- 0x0 - Packet Error Check disabled for IBI
- 0x1 - Packet Error Check enabled for IBI
This field is applicable only if configuration parameter ’IC HAS PEC’ is set to 1.
Testable: untestable
10:7 R RSVD 15 7: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
Offset: 298h DEV ADDR TABLE LOC7: Device Address Table of Device7 Init = 0
Bit R/W Description
31 RW LEGACY I2C DEVICE
Legacy I2C device or not.
This bit should be set to 1 if the device is a legacy I2C device.
Testable: untestable
to next page
15 R RSVD 15: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
14 RW MR REJECT: In-Band Master Request Reject field is used to control, per device,
whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
13 RW SIR REJECT: In-Band Slave Interrupt Request Reject field is used to control, per
device, whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
12 RW IBI WITH DATA:Mandatory one or more data bytes follow the accepted IBI from the
device. Data byte continuation is indicated by T-Bit.
- 0x0 - IBI Without Mandatory Byte
- 0x1 - IBI with one or more Mandatory Bytes.
Testable: untestable
11 RW IBI PEC EN:Packet Error Check enabled for accepted IBI from the device. PEC byte
is appended at the end of IBI data from the device. This bit controls whether PEC
check should be performed for IBI data from device. This bit also controls whether
PEC byte has to be send for auto disable CCC when controller NACKs the IBI.
- 0x0 - Packet Error Check disabled for IBI
- 0x1 - Packet Error Check enabled for IBI
This field is applicable only if configuration parameter ’IC HAS PEC’ is set to 1.
Testable: untestable
to next page
Offset: 29Ch DEV ADDR TABLE LOC8: Device Address Table of Device8 Init = 0
Bit R/W Description
31 RW LEGACY I2C DEVICE
Legacy I2C device or not.
This bit should be set to 1 if the device is a legacy I2C device.
Testable: untestable
28:26 R RSVD 28 26: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
15 R RSVD 15: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
to next page
Testable: untestable
13 RW SIR REJECT: In-Band Slave Interrupt Request Reject field is used to control, per
device, whether to accept Master request from Devices.
- 0x0 - Accept: ACK the Master Request
- 0x1 - Reject: NACK the Master Request and send auto disable CCC.
Testable: untestable
12 RW IBI WITH DATA:Mandatory one or more data bytes follow the accepted IBI from the
device. Data byte continuation is indicated by T-Bit.
- 0x0 - IBI Without Mandatory Byte
- 0x1 - IBI with one or more Mandatory Bytes.
Testable: untestable
11 RW IBI PEC EN:Packet Error Check enabled for accepted IBI from the device. PEC byte
is appended at the end of IBI data from the device. This bit controls whether PEC
check should be performed for IBI data from device. This bit also controls whether
PEC byte has to be send for auto disable CCC when controller NACKs the IBI.
- 0x0 - Packet Error Check disabled for IBI
- 0x1 - Packet Error Check enabled for IBI
This field is applicable only if configuration parameter ’IC HAS PEC’ is set to 1.
Testable: untestable
10:7 R RSVD 15 7: These bits in Device Address Table Register are reserved.
User must ignore the values of these bits.
Testable: untestable
HDMA190: SSTATAR4
HDMA198: DSTATAR4
HDMA1A0: CFG4
HDMA1A8: SGR4
HDMA1B0: DSR4
HDMA1B8: SAR5
HDMA1C0: DAR5
HDMA1C8: LLP5
HDMA1D0: CTL5
HDMA1D8: SSTAT5
HDMA1E0: DSTAT5
HDMA1E8: SSTATAR5
HDMA1F0: DSTATAR5
HDMA1F8: CFG5
HDMA200: SGR5
HDMA208: DSR5
HDMA210: SAR6
HDMA218: DAR6
HDMA220: LLP6
HDMA228: CTL6
HDMA230: SSTAT6
HDMA238: DSTAT6
HDMA240: SSTATAR6
HDMA248: DSTATAR6
HDMA250: CFG6
HDMA258: SGR6
HDMA260: DSR6
HDMA268: SAR7
HDMA270: DAR7
HDMA278: LLP7
HDMA280: CTL7
HDMA288: SSTAT7
HDMA290: DSTAT7
HDMA298: SSTATAR7
HDMA2A0: DSTATAR7
HDMA2A8: CFG7
HDMA2B0: SGR7
HDMA2B8: DSR7
HDMA348: ClearSrcTran
HDMA350: ClearDstTran
HDMA358: ClearErr
HDMA360: StatusInt
Register Address of HDMA/Software Handshake Registers = (Base Address of Global Register) + Off-
set
HDMA368: ReqSrcReg
HDMA370: ReqDstReg
HDMA378: SglRqSrcReg
HDMA380: SglRqDstReg
HDMA388: LstSrcReg
HDMA390: LstDstReg
55.2 Registers
31:0 RW SAR
Current Source Address of DMA transfer.
Updated after each source transfer. The SINC field in the CTL0 register determines
whether the address increments, decrements, or is left unchanged on every source trans-
fer through the block transfer.
Value after reset: 0x0
Volatile: true
31:0 RW DAR
Current Destination address of DMA transfer.
Updated after each destination transfer. The DINC field in the CTL0 register determines
whether the address increments, decrements, or is left unchanged on every destination
transfer throughout the block transfer.
Value after reset: 0x0
Volatile: true
Offset: 010h LLP0: Linked List Pointer Register for Channel 0 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:2 RW LOC
Starting Address In Memory of next LLI if block chaining is enabled. Note that the two LSBs
of the starting address are not stored because the address is assumed to be aligned to
a 32-bit boundary. LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit
boundaries and cannot be changed or programmed to anything other than 32-bit.
Value after reset: 0x0
Volatile: true
1 :0 RW LMS
List Master Select.
Identifies the AHB layer/interface where the memory device that stores the next linked
list item resides. This field does not exist if the configuration parameter is not set to
NO HARDCODE. In this case, the read-back value is always the hardcoded value. The
maximum value of this field that can be read back is DMAH NUM MASTER INT-1.
Values:
- 0x0 (LIST MASTER SELECT 1): The memory device stores the next linked list item on
AHB master 1
- 0x1 (LIST MASTER SELECT 2): The memory device stores the next linked list item on
AHB master 2
- 0x2 (LIST MASTER SELECT 3): The memory device stores the next linked list item on
AHB master 3
- 0x3 (LIST MASTER SELECT 4): The memory device stores the next linked list item on
AHB master 4
Value after reset: 0x0
Volatile: true
44 RW DONE
Done bit.
If status write-back is enabled, the upper word of the control register, CTL0[63:32], is writ-
ten to the control register location of the Linked List Item (LLI) in system memory at the
end of the block transfer with the done bit set.
Software can poll the LLI CTL0.DONE bit to see when a block transfer is complete. The
LLI CTL0.DONE bit should be cleared when the linked lists are set up in memory prior to
enabling the channel.
LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit boundaries and can-
not be changed or programmed to anything other than 32-bit. For more information, refer
to ”Multi-Block Transfers”.
Values:
- 0x0 (DISABLED): DONE bit is deasserted the enb of block transfer
- 0x1 (ENABLED): SET the DONE bit at the end of block transfer
Value after reset: 0x0
Volatile: true
43:37 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
36:32 RW BLOCK TS
Block Transfer Size.
When the HDMA is the flow controller, the user writes this field before the channel is
enabled in order to indicate the block size. The number programmed into BLOCK TS in-
dicates the total number of single transactions to perform for every block transfer; a single
transaction is mapped to a single AMBA beat
Width: The width of single transaction is determined by CTL0.SRC TR WIDTH. For fur-
ther information on setting this field, refer to ”Transfer Operation”.
Once the transfer starts, the read-back value is the total number of data items already read
from the source peripheral, regardless of what is the flow controller.
When the source or destination peripheral is assigned as the flow controller, then the max-
imum block size that can be read back saturates at DMAH CH0 MAX BLK SIZE, but the
actual block size can be greater.
Value after reset: 0x2
Volatile: true
31:29 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
28 RW LLP SRC EN
Block chaining is enabled on the source side only if the LLP SRC EN field is high and
LLP0.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”.
Values:
- 0x0 (LLP SRC DISABLE): Block chaining using Linked List is disabled on the Source
side
- 0x1 (LLP SRC ENABLE): Block chaining using Linked List is enabled on the Source side
Value after reset: 0x0
Volatile: true
27 RW LLP DST EN
Block chaining is enabled on the destination side only if LLP DST EN field is high and
LLP0.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”
Values:
- 0x0 (LLP DST DISABLE): Block chaining using Linked List is disabled on the Destination
side
- 0x1 (LLP DST ENABLE): Block chaining using Linked List is enabled on the Destination
side
Value after reset: 0x0
Volatile: true
26:25 RW SMS
Source Master Select.
Identifies the Master Interface layer where the source device (peripheral or mem-
ory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (SMS 0): Source device (peripheral or memory) is accessed from AHB master 1
- 0x1 (SMS 1): Source device (peripheral or memory) is accessed from AHB master 2
- 0x2 (SMS 2): Source device (peripheral or memory) is accessed from AHB master 3
- 0x3 (SMS 3): Source device (peripheral or memory) is accessed from AHB master 4
Value after reset: 0x0
Volatile: true
24:23 RW DMS
Destination Master Select.
Identifies the Master Interface layer where the destination device (peripheral or
memory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (DMS 0): Destination device (peripheral or memory) is accessed from AHB master
1
- 0x1 (DMS 1): Destination device (peripheral or memory) is accessed from AHB master
2
- 0x2 (DMS 2): Destination device (peripheral or memory) is accessed from AHB master
3
- 0x3 (DMS 3): Destination device (peripheral or memory) is accessed from AHB master
4
Value after reset: 0x0
Volatile: true
22:20 RW TT FC
Transfer Type and Flow Control.
Flow control can be assigned to the HDMA, the source peripheral, or the destination pe-
ripheral. For more information on transfer types and flow control, refer to ”Setup/Operation
of the HDMA Transfers”.
Dependencies: If the configuration parameter DMAH CH0 FC is set to DMA FC ONLY,
then TT FC[2] does not exist and TT FC[2] always reads back 0. If DMAH CH0 FC is
set to SRC FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1] always reads back
2’b10.
If DMAH CH0 FC is set to DST FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1]
always reads back 2’b11. For multi-block transfers using linked list operation, TT FC must
be constant for all blocks of this multi-block transfer.
Values:
- 0x0 (TT FC 0): Transfer type is Memory to Memory and Flow Controller is HDMA
- 0x1 (TT FC 1): Transfer type is Memory to Peripheral and Flow Controller is HDMA
- 0x2 (TT FC 2): Transfer type is Peripheral to Memory and Flow Controller is HDMA
- 0x3 (TT FC 3): Transfer type is Peripheral to Peripheral and Flow Controller is HDMA
- 0x4 (TT FC 4): Transfer type is Peripheral to Memory and Flow Controller is Peripheral
- 0x5 (TT FC 5): Transfer type is Peripheral to Peripheral and Flow Controller is Source
Peripheral
- 0x6 (TT FC 6): Transfer type is Memory to Peripheral and Flow Controller is Peripheral
- 0x7 (TT FC 7): Transfer type is Peripheral to Peripheral and Flow Controller is Destina-
tion Peripheral
Value after reset: 0x3
Volatile: true
19 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
18 RW DST SCATTER EN
Destination scatter enable.
Scatter on the destination side is applicable only when the CTL0.DINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (DST SCATTER DISABLE): Destination Scatter is disabled
- 0x1 (DST SCATTER ENABLE): Destination Scatter is enabled
Value after reset: 0x0
Volatile: true
17 RW SRC GATHER EN
Destination gather enable.
Gather on the destination side is applicable only when the CTL0.SINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (SRC SCATTER DISABLE): Source gather is disabled
- 0x1 (SRC SCATTER ENABLE): Source gather is enabled
Value after reset: 0x0
Volatile: true
10:9 RW SINC
Source Address Increment.
Indicates whether to increment or decrement the source address on every source transfer.
If the device is fetching data from a source peripheral FIFO with a fixed address, then set
this field to ”No change”.
Values:
- 0x0 (SINC 0): Increments the source address
- 0x1 (SINC 1): Decrements the source address
- 0x2 (SINC 2): No change in the source address
- 0x3 (SINC 3): No change in the source address
Value after reset: 0x0
Volatile: true
8 :7 RW DINC
Distination Address Increment.
Indicates whether to increment or decrement the destination address on every destination
transfer. If your device is writing data to a destination peripheral FIFO with a fixed address,
then set this field to ”No Change”.
Values:
- 0x0 (DINC 0): Increments the distination address
- 0x1 (DINC 1): Decrements the distination address
- 0x2 (DINC 2): No change in the distination address
- 0x3 (DINC 3): No change in the distination address
Value after reset: 0x0
Volatile: true
6 :4 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: 0x2
Volatile: true
3 :1 RW DST TR WIDTH
Destination Transfer Width. Mapped to AHB bus hsize.
For a non-memory peripheral, typically the peripheral (destination) FIFO width.
This value must be less than or equal to DMAH Mk HDATA WIDTH where k is the AHB
layer 1 to 4 where the destination resides. For the decoding of this field, see the ”Setting
Up Transfers” section in the HDMA Databook.
Values:
- 0x0 (DST TR WIDTH 0): Destination transfer width is 8 bits
- 0x1 (DST TR WIDTH 1): Destination transfer width is 16 bits
- 0x2 (DST TR WIDTH 2): Destination transfer width is 32 bits
- 0x3 (DST TR WIDTH 3): Destination transfer width is 64 bits
- 0x4 (DST TR WIDTH 4): Destination transfer width is 128 bits
- 0x5 (DST TR WIDTH 5): Destination transfer width is 256 bits
- 0x6 (DST TR WIDTH 6): Destination transfer width is 256 bits
- 0x7 (DST TR WIDTH 7): Destination transfer width is 256 bits
Value after reset: 0x2
Volatile: true
0 RW INT EN
Interrupt Enable Bit.
If set, then all interrupt-generating sources are enabled. Functions as a global mask bit for
all interrupts for the channel; raw* interrupt registers still assert if CTL0.INT EN=0.
Values:
- 0x0 (INTERRUPT DISABLE): Interrupt is disabled
- 0x1 (INTERRUPT ENABLE): Interrupt is enabled
Value after reset: 0x1
Volatile: true
31:0 RW SSTAT
Source status information retrieved by hardware from the address pointed to by the con-
tents of the STATAR0 register
Value after reset: 0x0
Volatile: true
31:0 RW DSTAT
Destination status information retrieved by hardware from the address pointed to by the
contents of DSTATAR0 register.
Value after reset: 0x0
Volatile: true
Offset: 030h SSTATAR0: Source Status Address Register for Channel 0 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:0 RW SSTATAR
Pointer from where hardware can fetch the source status information, which is registered
in the SSTAT0 register and written out to the SSTAT0 register location of the LLI before the
start of the next block.
Value after reset: 0x0
Volatile: true
Offset: 038h DSTATAR0: Source Status Address Register for Channel 0 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:0 RW DSTATAR
Pointer from where hardware can fetch the destination status information, which is reg-
istered in the DSTAT0 register and written out to the DSTAT0 register location of the LLI
before the start of the next block.
Value after reset: 0x0
Volatile: true
38 RW SS UPD EN
Source Status Update Enable.
Source status information is fetched only from the location pointed to by the SSTATAR0
register, stored in the SSTAT0 register and written out to the SSTAT0 location of the LLI, if
SS UPD EN is high.
Note: This enalbe is applicable only if DMAH CH0 STAT SRC is set to True. This field
does not exist if the configuration parameter DMAH CH0 STAT SRC is set to False; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Source Status Update is disabled.
- 0x1 (ENABLED): Source Status Update is enabled.
Value after reset: 0x0
Volatile: true
37 RW DS UPD EN
Destination Status Update Enable.
Destination status information is fetched only from the location pointed to by the DSTATAR0
register, stored in the DSTAT0 register and written out to the DSTAT0 location of the
LLI, if DS UPD EN is high. This field does not exist if the configuration parameter
DMAH CH0 SATAT DST is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Destination Status Update is disabled.
- 0x1 (ENABLED): Destination Status Update is enabled.
Value after reset: 0x0
Volatile: true
36:34 RW PROTCTL
Protection Control bits used to drive the AHB HPROT[3:1] bus. The AMBA Specification
recommends that the default of HPROT indicates a non-cached, non-buffered, privileged
data access. The reset value is used to indicate such an access.
HPROT[0] is tied high because all transfers are data accesses, as there are no opcode
fetches.
There is a one-to-one mapping of these register bits to the HPROT[3:1] master interface
signals.
Mapping of HPROT bus is as follows:
- 1’b1 to HPROT[0]
- CFG0.PROTCTL[1] to HPROT[1]
- CFG0.PROTCTL[2] to HPROT[2]
- CFG0.PROTCTL[3] to HPROT[3]
Value after reset: 0x1
Volatile: true
33 RW FIFO MODE
FIFO Mode Select.
Determines how much space or data needs to be available in the FIFO before a burst
transaction request is serviced.
Values:
- 0x0 (FIFO MODE 0): Space/data available for single AHB transfer of the specified trans-
fer width - 0x1 (FIFO MODE 1): Data available is greater than or equal to half the FIFO
depth for destination transfers and space available is greater than half the fifo depth for
source transfers. The exceptions are at the end of a burst transaction request or at the
end of a block transfer. Value after reset: 0x0
Volatile: true
32 RW FCMODE
Flow Control Mode.
Determines when source transaction requests are serviced when the Destination Periph-
eral is the flow controller.
Values:
- 0x0 (FCMODE 0): Source transaction requests are serviced when they occur. Data pre-
fetching is enabled
- 0x1 (FCMODE 1): Source transaction requests are not serviced until a destination trans-
action request occurs. In this mode, the amount of data transferred from the source is
limited so that it is guaranteed to be transferred to the destination prior to block termina-
tion by the destination. Data pre-fetching is disabled.
Value after reset: 0x0
Volatile: true
31 RW RELOAD DST
Automatic Destination Reload.
The DAR0 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This register does
not exist if the configuration parameter DMAH CH0 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Destination Reload Disabled.
- 0x1 (ENABLE): Destination Reload Enabled.
Value after reset: 0x0
Volatile: true
30 RW RELOAD SRC
Automatic Source Reload.
The SAR0 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This field does not
exist if the configuration parameter DMAH CH0 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Source Reload Disabled.
- 0x1 (ENABLE): Source Reload Enabled.
Value after reset: 0x0
Volatile: true
19 RW SRC HS POL
Source Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Source Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Source Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
18 RW DST HS POL
Destination Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Destination Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Destination Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
17 RW LOCK B
Bus Lock Bit.
When active, the AHB bus master signal hlock is asserted for the duration specified in
CFG0.LOCK B L. For more information, refer to ”Locked DMA Transfers”. This field does
not exist if the configuration parameter DMAH CH0 LOCK EN is set to False; in this case,
the read-back value is always 0.
Values:
- 0x0 (DISABLED): Bus lock bit is not enabled - 0x1 (ENABLED): Bus lock bit is enabled
Value after reset: 0x0
Volatile: true
16 RW LOCK CH
Channel Lock Bit.
When the channel is granted control of the master bus interface and if the CFG0.LOCK CH
bit is asserted, then no other channels are granted control of the master bus interface
for the duration specified in CFG0.LOCK CH L. Indicates to the master bus interface ar-
biter that this channel wants exclusive access to the master bus interface for the duration
specified in CFG0.LOCK CH L. This field does not exist if the configuration parameter
DMAH CH0 LOCK EN is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Channel lock bit is not enabled
- 0x1 (ENABLED): Channel lock bit is enabled
Value after reset: 0x0
Volatile: true
14:15 RW LOCK B L
Bus lock level.
Indicates the duration over which CFG0.LOCK B bit applies. This field does not exist if
the parameter DMAH CH0 LOCK EN is set to False; in this case, the read-back value is
always 0.
Values:
- 0x0 (LOCK B L 0): Over complete DMA transfer
- 0x1 (LOCK B L 1): Over complete DMA block transfer
- 0x2 (LOCK B L 2): Over complete DMA transaction
- 0x3 (LOCK B L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
13:12 RW LOCK CH L
Channel Local Level.
Indicates the duration over which CFG0.LOCK CH applies. This field does not exist if the
configuration parameter DMAH CH0 LOCK EN is set to False; in this case, the read-back
value is always 0.
Values:
- 0x0 (LOCK CH L 0): Over complete DMA transfer
- 0x1 (LOCK CH L 1): Over complete DMA block transfer
- 0x2 (LOCK CH L 2): Over complete DMA transaction
- 0x3 (LOCK CH L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
11 RW HS SEL SRC
Source Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for source requests on this channel. If the source peripheral is memory, then this bit is
ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored.
- 0x1 (SOFTWARE HS): Software handshaking interface. Hardware initiated transaction
requests are ignored.
Value after reset: 0x1
Volatile: true
10 RW HS SEL DST
Destination Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for destination requests on this channel. If the destination peripheral is memory, then this
bit is ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored. - 0x1 (SOFTWARE HS): Software handshaking interface. Hardware
initiated transaction requests are ignored. Value after reset: 0x1
Volatile: true
9 R FIFO EMPTY
Channel FIFO status.
Indicates if there is data left in the channel FIFO. Can be used in conjunction with
CFG0.CH SUSP to cleanly disable a channel. For more information, refer to ”Disabling
a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT EMPTY): Channel FIFO is not empty
- 0x1 (EMPTY): Channel FIFO is empty
Value after reset: 0x1
Volatile: true
8 R CH SUSP
Channel Suspend.
Suspends all DMA data transfers from the source until this bit is cleared. There is no
guarantee that the current transaction will complete. Can also be used in conjunction
with CFG0.FIFO EMPTY to cleanly disable a channel without losing any data. For more
information, refer to ”Disabling a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT SUSPENDED): DMA transfer from the source is not suspended
- 0x1 (SUSPENDED): Suspend DMA transfer from the source
Value after reset: 0x0
Volatile: true
7 :5 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: x
Volatile: true
4 :0 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW SGC
Source Gather Count.
Source contiguous tranfer count between successive gather boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW SGI
Source Gather Interval.
Value after reset: 0x0
Volatile: true
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW DSC
Destination Scatter Count.
Destination contiguous transfer count between successive scatter boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW DSI
Destination Scatter Interval.
Value after reset: 0x0
Volatile: true
31:0 RW SAR
Current Source Address of DMA transfer.
Updated after each source transfer. The SINC field in the CTL1 register determines
whether the address increments, decrements, or is left unchanged on every source trans-
fer through the block transfer.
Value after reset: 0x0
Volatile: true
31:0 RW DAR
Current Destination address of DMA transfer.
Updated after each destination transfer. The DINC field in the CTL1 register determines
whether the address increments, decrements, or is left unchanged on every destination
transfer throughout the block transfer.
Value after reset: 0x0
Volatile: true
Offset: 068h LLP1: Linked List Pointer Register for Channel 1 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:2 RW LOC
Starting Address In Memory of next LLI if block chaining is enabled. Note that the two LSBs
of the starting address are not stored because the address is assumed to be aligned to
a 32-bit boundary. LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit
boundaries and cannot be changed or programmed to anything other than 32-bit.
Value after reset: 0x0
Volatile: true
1 :0 RW LMS
List Master Select.
Identifies the AHB layer/interface where the memory device that stores the next linked
list item resides. This field does not exist if the configuration parameter is not set to
NO HARDCODE. In this case, the read-back value is always the hardcoded value. The
maximum value of this field that can be read back is DMAH NUM MASTER INT-1.
Values:
- 0x0 (LIST MASTER SELECT 1): The memory device stores the next linked list item on
AHB master 1
- 0x1 (LIST MASTER SELECT 2): The memory device stores the next linked list item on
AHB master 2
- 0x2 (LIST MASTER SELECT 3): The memory device stores the next linked list item on
AHB master 3
- 0x3 (LIST MASTER SELECT 4): The memory device stores the next linked list item on
AHB master 4
Value after reset: 0x0
Volatile: true
44 RW DONE
Done bit.
If status write-back is enabled, the upper word of the control register, CTL1[63:32], is writ-
ten to the control register location of the Linked List Item (LLI) in system memory at the
end of the block transfer with the done bit set.
Software can poll the LLI CTL1.DONE bit to see when a block transfer is complete. The
LLI CTL1.DONE bit should be cleared when the linked lists are set up in memory prior to
enabling the channel.
LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit boundaries and can-
not be changed or programmed to anything other than 32-bit. For more information, refer
to ”Multi-Block Transfers”.
Values:
- 0x0 (DISABLED): DONE bit is deasserted the enb of block transfer
- 0x1 (ENABLED): SET the DONE bit at the end of block transfer
Value after reset: 0x0
Volatile: true
43:37 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
36:32 RW BLOCK TS
Block Transfer Size.
When the HDMA is the flow controller, the user writes this field before the channel is
enabled in order to indicate the block size. The number programmed into BLOCK TS in-
dicates the total number of single transactions to perform for every block transfer; a single
transaction is mapped to a single AMBA beat
Width: The width of single transaction is determined by CTL1.SRC TR WIDTH. For fur-
ther information on setting this field, refer to ”Transfer Operation”.
Once the transfer starts, the read-back value is the total number of data items already read
from the source peripheral, regardless of what is the flow controller.
When the source or destination peripheral is assigned as the flow controller, then the max-
imum block size that can be read back saturates at DMAH CH1 MAX BLK SIZE, but the
actual block size can be greater.
Value after reset: 0x2
Volatile: true
31:29 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
28 RW LLP SRC EN
Block chaining is enabled on the source side only if the LLP SRC EN field is high and
LLP1.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”.
Values:
- 0x0 (LLP SRC DISABLE): Block chaining using Linked List is disabled on the Source
side
- 0x1 (LLP SRC ENABLE): Block chaining using Linked List is enabled on the Source side
Value after reset: 0x0
Volatile: true
27 RW LLP DST EN
Block chaining is enabled on the destination side only if LLP DST EN field is high and
LLP1.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”
Values:
- 0x0 (LLP DST DISABLE): Block chaining using Linked List is disabled on the Destination
side
- 0x1 (LLP DST ENABLE): Block chaining using Linked List is enabled on the Destination
side
Value after reset: 0x0
Volatile: true
26:25 RW SMS
Source Master Select.
Identifies the Master Interface layer where the source device (peripheral or mem-
ory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (SMS 0): Source device (peripheral or memory) is accessed from AHB master 1
- 0x1 (SMS 1): Source device (peripheral or memory) is accessed from AHB master 2
- 0x2 (SMS 2): Source device (peripheral or memory) is accessed from AHB master 3
- 0x3 (SMS 3): Source device (peripheral or memory) is accessed from AHB master 4
Value after reset: 0x0
Volatile: true
24:23 RW DMS
Destination Master Select.
Identifies the Master Interface layer where the destination device (peripheral or
memory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (DMS 0): Destination device (peripheral or memory) is accessed from AHB master
1
- 0x1 (DMS 1): Destination device (peripheral or memory) is accessed from AHB master
2
- 0x2 (DMS 2): Destination device (peripheral or memory) is accessed from AHB master
3
- 0x3 (DMS 3): Destination device (peripheral or memory) is accessed from AHB master
4
Value after reset: 0x0
Volatile: true
22:20 RW TT FC
Transfer Type and Flow Control.
Flow control can be assigned to the HDMA, the source peripheral, or the destination pe-
ripheral. For more information on transfer types and flow control, refer to ”Setup/Operation
of the HDMA Transfers”.
Dependencies: If the configuration parameter DMAH CH1 FC is set to DMA FC ONLY,
then TT FC[2] does not exist and TT FC[2] always reads back 0. If DMAH CH1 FC is
set to SRC FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1] always reads back
2’b10.
If DMAH CH1 FC is set to DST FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1]
always reads back 2’b11. For multi-block transfers using linked list operation, TT FC must
be constant for all blocks of this multi-block transfer.
Values:
- 0x0 (TT FC 0): Transfer type is Memory to Memory and Flow Controller is HDMA
- 0x1 (TT FC 1): Transfer type is Memory to Peripheral and Flow Controller is HDMA
- 0x2 (TT FC 2): Transfer type is Peripheral to Memory and Flow Controller is HDMA
- 0x3 (TT FC 3): Transfer type is Peripheral to Peripheral and Flow Controller is HDMA
- 0x4 (TT FC 4): Transfer type is Peripheral to Memory and Flow Controller is Peripheral
- 0x5 (TT FC 5): Transfer type is Peripheral to Peripheral and Flow Controller is Source
Peripheral
- 0x6 (TT FC 6): Transfer type is Memory to Peripheral and Flow Controller is Peripheral
- 0x7 (TT FC 7): Transfer type is Peripheral to Peripheral and Flow Controller is Destina-
tion Peripheral
Value after reset: 0x3
Volatile: true
19 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
18 RW DST SCATTER EN
Destination scatter enable.
Scatter on the destination side is applicable only when the CTL1.DINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (DST SCATTER DISABLE): Destination Scatter is disabled
- 0x1 (DST SCATTER ENABLE): Destination Scatter is enabled
Value after reset: 0x0
Volatile: true
17 RW SRC GATHER EN
Destination gather enable.
Gather on the destination side is applicable only when the CTL1.SINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (SRC SCATTER DISABLE): Source gather is disabled
- 0x1 (SRC SCATTER ENABLE): Source gather is enabled
Value after reset: 0x0
Volatile: true
10:9 RW SINC
Source Address Increment.
Indicates whether to increment or decrement the source address on every source transfer.
If the device is fetching data from a source peripheral FIFO with a fixed address, then set
this field to ”No change”.
Values:
- 0x0 (SINC 0): Increments the source address
- 0x1 (SINC 1): Decrements the source address
- 0x2 (SINC 2): No change in the source address
- 0x3 (SINC 3): No change in the source address
Value after reset: 0x0
Volatile: true
8 :7 RW DINC
Distination Address Increment.
Indicates whether to increment or decrement the destination address on every destination
transfer. If your device is writing data to a destination peripheral FIFO with a fixed address,
then set this field to ”No Change”.
Values:
- 0x0 (DINC 0): Increments the distination address
- 0x1 (DINC 1): Decrements the distination address
- 0x2 (DINC 2): No change in the distination address
- 0x3 (DINC 3): No change in the distination address
Value after reset: 0x0
Volatile: true
6 :4 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: 0x2
Volatile: true
3 :1 RW DST TR WIDTH
Destination Transfer Width. Mapped to AHB bus hsize.
For a non-memory peripheral, typically the peripheral (destination) FIFO width.
This value must be less than or equal to DMAH Mk HDATA WIDTH where k is the AHB
layer 1 to 4 where the destination resides. For the decoding of this field, see the ”Setting
Up Transfers” section in the HDMA Databook.
Values:
- 0x0 (DST TR WIDTH 0): Destination transfer width is 8 bits
- 0x1 (DST TR WIDTH 1): Destination transfer width is 16 bits
- 0x2 (DST TR WIDTH 2): Destination transfer width is 32 bits
- 0x3 (DST TR WIDTH 3): Destination transfer width is 64 bits
- 0x4 (DST TR WIDTH 4): Destination transfer width is 128 bits
- 0x5 (DST TR WIDTH 5): Destination transfer width is 256 bits
- 0x6 (DST TR WIDTH 6): Destination transfer width is 256 bits
- 0x7 (DST TR WIDTH 7): Destination transfer width is 256 bits
Value after reset: 0x2
Volatile: true
0 RW INT EN
Interrupt Enable Bit.
If set, then all interrupt-generating sources are enabled. Functions as a global mask bit for
all interrupts for the channel; raw* interrupt registers still assert if CTL1.INT EN=0.
Values:
- 0x0 (INTERRUPT DISABLE): Interrupt is disabled
- 0x1 (INTERRUPT ENABLE): Interrupt is enabled
Value after reset: 0x1
Volatile: true
31:0 RW SSTAT
Source status information retrieved by hardware from the address pointed to by the con-
tents of the STATAR1 register
Value after reset: 0x0
Volatile: true
31:0 RW DSTAT
Destination status information retrieved by hardware from the address pointed to by the
contents of DSTATAR1 register.
Value after reset: 0x0
Volatile: true
Offset: 088h SSTATAR1: Source Status Address Register for Channel 1 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:0 RW SSTATAR
Pointer from where hardware can fetch the source status information, which is registered
in the SSTAT1 register and written out to the SSTAT1 register location of the LLI before the
start of the next block.
Value after reset: 0x0
Volatile: true
Offset: 090h DSTATAR1: Source Status Address Register for Channel 1 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:0 RW DSTATAR
Pointer from where hardware can fetch the destination status information, which is reg-
istered in the DSTAT1 register and written out to the DSTAT1 register location of the LLI
before the start of the next block.
Value after reset: 0x0
Volatile: true
38 RW SS UPD EN
Source Status Update Enable.
Source status information is fetched only from the location pointed to by the SSTATAR1
register, stored in the SSTAT1 register and written out to the SSTAT1 location of the LLI, if
SS UPD EN is high.
Note: This enalbe is applicable only if DMAH CH0 STAT SRC is set to True. This field
does not exist if the configuration parameter DMAH CH1 STAT SRC is set to False; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Source Status Update is disabled.
- 0x1 (ENABLED): Source Status Update is enabled.
Value after reset: 0x0
Volatile: true
37 RW DS UPD EN
Destination Status Update Enable.
Destination status information is fetched only from the location pointed to by the DSTATAR0
register, stored in the DSTAT1 register and written out to the DSTAT0 location of the
LLI, if DS UPD EN is high. This field does not exist if the configuration parameter
DMAH CH1 SATAT DST is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Destination Status Update is disabled.
- 0x1 (ENABLED): Destination Status Update is enabled.
Value after reset: 0x0
Volatile: true
36:34 RW PROTCTL
Protection Control bits used to drive the AHB HPROT[3:1] bus. The AMBA Specification
recommends that the default of HPROT indicates a non-cached, non-buffered, privileged
data access. The reset value is used to indicate such an access.
HPROT[0] is tied high because all transfers are data accesses, as there are no opcode
fetches.
There is a one-to-one mapping of these register bits to the HPROT[3:1] master interface
signals.
Mapping of HPROT bus is as follows:
- 1’b1 to HPROT[0]
- CFG1.PROTCTL[1] to HPROT[1]
- CFG1.PROTCTL[2] to HPROT[2]
- CFG1.PROTCTL[3] to HPROT[3]
Value after reset: 0x1
Volatile: true
33 RW FIFO MODE
FIFO Mode Select.
Determines how much space or data needs to be available in the FIFO before a burst
transaction request is serviced.
Values:
- 0x0 (FIFO MODE 0): Space/data available for single AHB transfer of the specified trans-
fer width - 0x1 (FIFO MODE 1): Data available is greater than or equal to half the FIFO
depth for destination transfers and space available is greater than half the fifo depth for
source transfers. The exceptions are at the end of a burst transaction request or at the
end of a block transfer. Value after reset: 0x0
Volatile: true
32 RW FCMODE
Flow Control Mode.
Determines when source transaction requests are serviced when the Destination Periph-
eral is the flow controller.
Values:
- 0x0 (FCMODE 0): Source transaction requests are serviced when they occur. Data pre-
fetching is enabled
- 0x1 (FCMODE 1): Source transaction requests are not serviced until a destination trans-
action request occurs. In this mode, the amount of data transferred from the source is
limited so that it is guaranteed to be transferred to the destination prior to block termina-
tion by the destination. Data pre-fetching is disabled.
Value after reset: 0x0
Volatile: true
31 RW RELOAD DST
Automatic Destination Reload.
The DAR1 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This register does
not exist if the configuration parameter DMAH CH1 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Destination Reload Disabled.
- 0x1 (ENABLE): Destination Reload Enabled.
Value after reset: 0x0
Volatile: true
30 RW RELOAD SRC
Automatic Source Reload.
The SAR1 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This field does not
exist if the configuration parameter DMAH CH1 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Source Reload Disabled.
- 0x1 (ENABLE): Source Reload Enabled.
Value after reset: 0x0
Volatile: true
19 RW SRC HS POL
Source Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Source Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Source Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
18 RW DST HS POL
Destination Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Destination Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Destination Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
17 RW LOCK B
Bus Lock Bit.
When active, the AHB bus master signal hlock is asserted for the duration specified in
CFG0.LOCK B L. For more information, refer to ”Locked DMA Transfers”. This field does
not exist if the configuration parameter DMAH CH1 LOCK EN is set to False; in this case,
the read-back value is always 0.
Values:
- 0x0 (DISABLED): Bus lock bit is not enabled - 0x1 (ENABLED): Bus lock bit is enabled
Value after reset: 0x0
Volatile: true
16 RW LOCK CH
Channel Lock Bit.
When the channel is granted control of the master bus interface and if the CFG1.LOCK CH
bit is asserted, then no other channels are granted control of the master bus interface
for the duration specified in CFG1.LOCK CH L. Indicates to the master bus interface ar-
biter that this channel wants exclusive access to the master bus interface for the duration
specified in CFG1.LOCK CH L. This field does not exist if the configuration parameter
DMAH CH1 LOCK EN is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Channel lock bit is not enabled
- 0x1 (ENABLED): Channel lock bit is enabled
Value after reset: 0x0
Volatile: true
14:15 RW LOCK B L
Bus lock level.
Indicates the duration over which CFG1.LOCK B bit applies. This field does not exist if
the parameter DMAH CH1 LOCK EN is set to False; in this case, the read-back value is
always 0.
Values:
- 0x0 (LOCK B L 0): Over complete DMA transfer
- 0x1 (LOCK B L 1): Over complete DMA block transfer
- 0x2 (LOCK B L 2): Over complete DMA transaction
- 0x3 (LOCK B L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
13:12 RW LOCK CH L
Channel Local Level.
Indicates the duration over which CFG1.LOCK CH applies. This field does not exist if the
configuration parameter DMAH CH1 LOCK EN is set to False; in this case, the read-back
value is always 0.
Values:
- 0x0 (LOCK CH L 0): Over complete DMA transfer
- 0x1 (LOCK CH L 1): Over complete DMA block transfer
- 0x2 (LOCK CH L 2): Over complete DMA transaction
- 0x3 (LOCK CH L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
11 RW HS SEL SRC
Source Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for source requests on this channel. If the source peripheral is memory, then this bit is
ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored.
- 0x1 (SOFTWARE HS): Software handshaking interface. Hardware initiated transaction
requests are ignored.
Value after reset: 0x1
Volatile: true
10 RW HS SEL DST
Destination Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for destination requests on this channel. If the destination peripheral is memory, then this
bit is ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored. - 0x1 (SOFTWARE HS): Software handshaking interface. Hardware
initiated transaction requests are ignored. Value after reset: 0x1
Volatile: true
9 R FIFO EMPTY
Channel FIFO status.
Indicates if there is data left in the channel FIFO. Can be used in conjunction with
CFG1.CH SUSP to cleanly disable a channel. For more information, refer to ”Disabling
a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT EMPTY): Channel FIFO is not empty
- 0x1 (EMPTY): Channel FIFO is empty
Value after reset: 0x1
Volatile: true
8 R CH SUSP
Channel Suspend.
Suspends all DMA data transfers from the source until this bit is cleared. There is no
guarantee that the current transaction will complete. Can also be used in conjunction
with CFG1.FIFO EMPTY to cleanly disable a channel without losing any data. For more
information, refer to ”Disabling a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT SUSPENDED): DMA transfer from the source is not suspended
- 0x1 (SUSPENDED): Suspend DMA transfer from the source
Value after reset: 0x0
Volatile: true
7 :5 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: x
Volatile: true
4 :0 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW SGC
Source Gather Count.
Source contiguous tranfer count between successive gather boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW SGI
Source Gather Interval.
Value after reset: 0x0
Volatile: true
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW DSC
Destination Scatter Count.
Destination contiguous transfer count between successive scatter boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW DSI
Destination Scatter Interval.
Value after reset: 0x0
Volatile: true
31:0 RW SAR
Current Source Address of DMA transfer.
Updated after each source transfer. The SINC field in the CTL2 register determines
whether the address increments, decrements, or is left unchanged on every source trans-
fer through the block transfer.
Value after reset: 0x0
Volatile: true
31:0 RW DAR
Current Destination address of DMA transfer.
Updated after each destination transfer. The DINC field in the CTL2 register determines
whether the address increments, decrements, or is left unchanged on every destination
transfer throughout the block transfer.
Value after reset: 0x0
Volatile: true
Offset: 0C0h LLP2: Linked List Pointer Register for Channel 2 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:2 RW LOC
Starting Address In Memory of next LLI if block chaining is enabled. Note that the two LSBs
of the starting address are not stored because the address is assumed to be aligned to
a 32-bit boundary. LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit
boundaries and cannot be changed or programmed to anything other than 32-bit.
Value after reset: 0x0
Volatile: true
1 :0 RW LMS
List Master Select.
Identifies the AHB layer/interface where the memory device that stores the next linked
list item resides. This field does not exist if the configuration parameter is not set to
NO HARDCODE. In this case, the read-back value is always the hardcoded value. The
maximum value of this field that can be read back is DMAH NUM MASTER INT-1.
Values:
- 0x0 (LIST MASTER SELECT 1): The memory device stores the next linked list item on
AHB master 1
- 0x1 (LIST MASTER SELECT 2): The memory device stores the next linked list item on
AHB master 2
- 0x2 (LIST MASTER SELECT 3): The memory device stores the next linked list item on
AHB master 3
- 0x3 (LIST MASTER SELECT 4): The memory device stores the next linked list item on
AHB master 4
Value after reset: 0x0
Volatile: true
44 RW DONE
Done bit.
If status write-back is enabled, the upper word of the control register, CTL2[63:32], is writ-
ten to the control register location of the Linked List Item (LLI) in system memory at the
end of the block transfer with the done bit set.
Software can poll the LLI CTL2.DONE bit to see when a block transfer is complete. The
LLI CTL2.DONE bit should be cleared when the linked lists are set up in memory prior to
enabling the channel.
LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit boundaries and can-
not be changed or programmed to anything other than 32-bit. For more information, refer
to ”Multi-Block Transfers”.
Values:
- 0x0 (DISABLED): DONE bit is deasserted the enb of block transfer
- 0x1 (ENABLED): SET the DONE bit at the end of block transfer
Value after reset: 0x0
Volatile: true
43:37 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
36:32 RW BLOCK TS
Block Transfer Size.
When the HDMA is the flow controller, the user writes this field before the channel is
enabled in order to indicate the block size. The number programmed into BLOCK TS in-
dicates the total number of single transactions to perform for every block transfer; a single
transaction is mapped to a single AMBA beat
Width: The width of single transaction is determined by CTL2.SRC TR WIDTH. For fur-
ther information on setting this field, refer to ”Transfer Operation”.
Once the transfer starts, the read-back value is the total number of data items already read
from the source peripheral, regardless of what is the flow controller.
When the source or destination peripheral is assigned as the flow controller, then the max-
imum block size that can be read back saturates at DMAH CH2 MAX BLK SIZE, but the
actual block size can be greater.
Value after reset: 0x2
Volatile: true
31:29 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
28 RW LLP SRC EN
Block chaining is enabled on the source side only if the LLP SRC EN field is high and
LLP2.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”.
Values:
- 0x0 (LLP SRC DISABLE): Block chaining using Linked List is disabled on the Source
side
- 0x1 (LLP SRC ENABLE): Block chaining using Linked List is enabled on the Source side
Value after reset: 0x0
Volatile: true
27 RW LLP DST EN
Block chaining is enabled on the destination side only if LLP DST EN field is high and
LLP2.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”
Values:
- 0x0 (LLP DST DISABLE): Block chaining using Linked List is disabled on the Destination
side
- 0x1 (LLP DST ENABLE): Block chaining using Linked List is enabled on the Destination
side
Value after reset: 0x0
Volatile: true
26:25 RW SMS
Source Master Select.
Identifies the Master Interface layer where the source device (peripheral or mem-
ory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (SMS 0): Source device (peripheral or memory) is accessed from AHB master 1
- 0x1 (SMS 1): Source device (peripheral or memory) is accessed from AHB master 2
- 0x2 (SMS 2): Source device (peripheral or memory) is accessed from AHB master 3
- 0x3 (SMS 3): Source device (peripheral or memory) is accessed from AHB master 4
Value after reset: 0x0
Volatile: true
24:23 RW DMS
Destination Master Select.
Identifies the Master Interface layer where the destination device (peripheral or
memory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (DMS 0): Destination device (peripheral or memory) is accessed from AHB master
1
- 0x1 (DMS 1): Destination device (peripheral or memory) is accessed from AHB master
2
- 0x2 (DMS 2): Destination device (peripheral or memory) is accessed from AHB master
3
- 0x3 (DMS 3): Destination device (peripheral or memory) is accessed from AHB master
4
Value after reset: 0x0
Volatile: true
22:20 RW TT FC
Transfer Type and Flow Control.
Flow control can be assigned to the HDMA, the source peripheral, or the destination pe-
ripheral. For more information on transfer types and flow control, refer to ”Setup/Operation
of the HDMA Transfers”.
Dependencies: If the configuration parameter DMAH CH2 FC is set to DMA FC ONLY,
then TT FC[2] does not exist and TT FC[2] always reads back 0. If DMAH CH2 FC is
set to SRC FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1] always reads back
2’b10.
If DMAH CH2 FC is set to DST FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1]
always reads back 2’b11. For multi-block transfers using linked list operation, TT FC must
be constant for all blocks of this multi-block transfer.
Values:
- 0x0 (TT FC 0): Transfer type is Memory to Memory and Flow Controller is HDMA
- 0x1 (TT FC 1): Transfer type is Memory to Peripheral and Flow Controller is HDMA
- 0x2 (TT FC 2): Transfer type is Peripheral to Memory and Flow Controller is HDMA
- 0x3 (TT FC 3): Transfer type is Peripheral to Peripheral and Flow Controller is HDMA
- 0x4 (TT FC 4): Transfer type is Peripheral to Memory and Flow Controller is Peripheral
- 0x5 (TT FC 5): Transfer type is Peripheral to Peripheral and Flow Controller is Source
Peripheral
- 0x6 (TT FC 6): Transfer type is Memory to Peripheral and Flow Controller is Peripheral
- 0x7 (TT FC 7): Transfer type is Peripheral to Peripheral and Flow Controller is Destina-
tion Peripheral
Value after reset: 0x3
Volatile: true
19 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
18 RW DST SCATTER EN
Destination scatter enable.
Scatter on the destination side is applicable only when the CTL2.DINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (DST SCATTER DISABLE): Destination Scatter is disabled
- 0x1 (DST SCATTER ENABLE): Destination Scatter is enabled
Value after reset: 0x0
Volatile: true
17 RW SRC GATHER EN
Destination gather enable.
Gather on the destination side is applicable only when the CTL2.SINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (SRC SCATTER DISABLE): Source gather is disabled
- 0x1 (SRC SCATTER ENABLE): Source gather is enabled
Value after reset: 0x0
Volatile: true
10:9 RW SINC
Source Address Increment.
Indicates whether to increment or decrement the source address on every source transfer.
If the device is fetching data from a source peripheral FIFO with a fixed address, then set
this field to ”No change”.
Values:
- 0x0 (SINC 0): Increments the source address
- 0x1 (SINC 1): Decrements the source address
- 0x2 (SINC 2): No change in the source address
- 0x3 (SINC 3): No change in the source address
Value after reset: 0x0
Volatile: true
8 :7 RW DINC
Distination Address Increment.
Indicates whether to increment or decrement the destination address on every destination
transfer. If your device is writing data to a destination peripheral FIFO with a fixed address,
then set this field to ”No Change”.
Values:
- 0x0 (DINC 0): Increments the distination address
- 0x1 (DINC 1): Decrements the distination address
- 0x2 (DINC 2): No change in the distination address
- 0x3 (DINC 3): No change in the distination address
Value after reset: 0x0
Volatile: true
6 :4 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: 0x2
Volatile: true
3 :1 RW DST TR WIDTH
Destination Transfer Width. Mapped to AHB bus hsize.
For a non-memory peripheral, typically the peripheral (destination) FIFO width.
This value must be less than or equal to DMAH Mk HDATA WIDTH where k is the AHB
layer 1 to 4 where the destination resides. For the decoding of this field, see the ”Setting
Up Transfers” section in the HDMA Databook.
Values:
- 0x0 (DST TR WIDTH 0): Destination transfer width is 8 bits
- 0x1 (DST TR WIDTH 1): Destination transfer width is 16 bits
- 0x2 (DST TR WIDTH 2): Destination transfer width is 32 bits
- 0x3 (DST TR WIDTH 3): Destination transfer width is 64 bits
- 0x4 (DST TR WIDTH 4): Destination transfer width is 128 bits
- 0x5 (DST TR WIDTH 5): Destination transfer width is 256 bits
- 0x6 (DST TR WIDTH 6): Destination transfer width is 256 bits
- 0x7 (DST TR WIDTH 7): Destination transfer width is 256 bits
Value after reset: 0x2
Volatile: true
0 RW INT EN
Interrupt Enable Bit.
If set, then all interrupt-generating sources are enabled. Functions as a global mask bit for
all interrupts for the channel; raw* interrupt registers still assert if CTL2.INT EN=0.
Values:
- 0x0 (INTERRUPT DISABLE): Interrupt is disabled
- 0x1 (INTERRUPT ENABLE): Interrupt is enabled
Value after reset: 0x1
Volatile: true
31:0 RW SSTAT
Source status information retrieved by hardware from the address pointed to by the con-
tents of the STATAR2 register
Value after reset: 0x0
Volatile: true
31:0 RW DSTAT
Destination status information retrieved by hardware from the address pointed to by the
contents of DSTATAR2 register.
Value after reset: 0x0
Volatile: true
Offset: 0E0h SSTATAR2: Source Status Address Register for Channel 2 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:0 RW SSTATAR
Pointer from where hardware can fetch the source status information, which is registered
in the SSTAT2 register and written out to the SSTAT2 register location of the LLI before the
start of the next block.
Value after reset: 0x0
Volatile: true
Offset: 0E8h DSTATAR2: Source Status Address Register for Channel 2 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:0 RW DSTATAR
Pointer from where hardware can fetch the destination status information, which is reg-
istered in the DSTAT2 register and written out to the DSTAT2 register location of the LLI
before the start of the next block.
Value after reset: 0x0
Volatile: true
38 RW SS UPD EN
Source Status Update Enable.
Source status information is fetched only from the location pointed to by the SSTATAR2
register, stored in the SSTAT2 register and written out to the SSTAT2 location of the LLI, if
SS UPD EN is high.
Note: This enalbe is applicable only if DMAH CH2 STAT SRC is set to True. This field
does not exist if the configuration parameter DMAH CH2 STAT SRC is set to False; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Source Status Update is disabled.
- 0x1 (ENABLED): Source Status Update is enabled.
Value after reset: 0x0
Volatile: true
37 RW DS UPD EN
Destination Status Update Enable.
Destination status information is fetched only from the location pointed to by the DSTATAR0
register, stored in the DSTAT2 register and written out to the DSTAT2 location of the
LLI, if DS UPD EN is high. This field does not exist if the configuration parameter
DMAH CH1 SATAT DST is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Destination Status Update is disabled.
- 0x1 (ENABLED): Destination Status Update is enabled.
Value after reset: 0x0
Volatile: true
36:34 RW PROTCTL
Protection Control bits used to drive the AHB HPROT[3:1] bus. The AMBA Specification
recommends that the default of HPROT indicates a non-cached, non-buffered, privileged
data access. The reset value is used to indicate such an access.
HPROT[0] is tied high because all transfers are data accesses, as there are no opcode
fetches.
There is a one-to-one mapping of these register bits to the HPROT[3:1] master interface
signals.
Mapping of HPROT bus is as follows:
- 1’b1 to HPROT[0]
- CFG1.PROTCTL[1] to HPROT[1]
- CFG1.PROTCTL[2] to HPROT[2]
- CFG1.PROTCTL[3] to HPROT[3]
Value after reset: 0x1
Volatile: true
33 RW FIFO MODE
FIFO Mode Select.
Determines how much space or data needs to be available in the FIFO before a burst
transaction request is serviced.
Values:
- 0x0 (FIFO MODE 0): Space/data available for single AHB transfer of the specified trans-
fer width - 0x1 (FIFO MODE 1): Data available is greater than or equal to half the FIFO
depth for destination transfers and space available is greater than half the fifo depth for
source transfers. The exceptions are at the end of a burst transaction request or at the
end of a block transfer. Value after reset: 0x0
Volatile: true
32 RW FCMODE
Flow Control Mode.
Determines when source transaction requests are serviced when the Destination Periph-
eral is the flow controller.
Values:
- 0x0 (FCMODE 0): Source transaction requests are serviced when they occur. Data pre-
fetching is enabled
- 0x1 (FCMODE 1): Source transaction requests are not serviced until a destination trans-
action request occurs. In this mode, the amount of data transferred from the source is
limited so that it is guaranteed to be transferred to the destination prior to block termina-
tion by the destination. Data pre-fetching is disabled.
Value after reset: 0x0
Volatile: true
31 RW RELOAD DST
Automatic Destination Reload.
The DAR2 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This register does
not exist if the configuration parameter DMAH CH2 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Destination Reload Disabled.
- 0x1 (ENABLE): Destination Reload Enabled.
Value after reset: 0x0
Volatile: true
30 RW RELOAD SRC
Automatic Source Reload.
The SAR2 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This field does not
exist if the configuration parameter DMAH CH2 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Source Reload Disabled.
- 0x1 (ENABLE): Source Reload Enabled.
Value after reset: 0x0
Volatile: true
19 RW SRC HS POL
Source Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Source Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Source Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
18 RW DST HS POL
Destination Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Destination Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Destination Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
17 RW LOCK B
Bus Lock Bit.
When active, the AHB bus master signal hlock is asserted for the duration specified in
CFG0.LOCK B L. For more information, refer to ”Locked DMA Transfers”. This field does
not exist if the configuration parameter DMAH CH2 LOCK EN is set to False; in this case,
the read-back value is always 0.
Values:
- 0x0 (DISABLED): Bus lock bit is not enabled - 0x1 (ENABLED): Bus lock bit is enabled
Value after reset: 0x0
Volatile: true
16 RW LOCK CH
Channel Lock Bit.
When the channel is granted control of the master bus interface and if the CFG2.LOCK CH
bit is asserted, then no other channels are granted control of the master bus interface
for the duration specified in CFG2.LOCK CH L. Indicates to the master bus interface ar-
biter that this channel wants exclusive access to the master bus interface for the duration
specified in CFG2.LOCK CH L. This field does not exist if the configuration parameter
DMAH CH2 LOCK EN is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Channel lock bit is not enabled
- 0x1 (ENABLED): Channel lock bit is enabled
Value after reset: 0x0
Volatile: true
14:15 RW LOCK B L
Bus lock level.
Indicates the duration over which CFG2.LOCK B bit applies. This field does not exist if
the parameter DMAH CH2 LOCK EN is set to False; in this case, the read-back value is
always 0.
Values:
- 0x0 (LOCK B L 0): Over complete DMA transfer
- 0x1 (LOCK B L 1): Over complete DMA block transfer
- 0x2 (LOCK B L 2): Over complete DMA transaction
- 0x3 (LOCK B L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
13:12 RW LOCK CH L
Channel Local Level.
Indicates the duration over which CFG2.LOCK CH applies. This field does not exist if the
configuration parameter DMAH CH2 LOCK EN is set to False; in this case, the read-back
value is always 0.
Values:
- 0x0 (LOCK CH L 0): Over complete DMA transfer
- 0x1 (LOCK CH L 1): Over complete DMA block transfer
- 0x2 (LOCK CH L 2): Over complete DMA transaction
- 0x3 (LOCK CH L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
11 RW HS SEL SRC
Source Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for source requests on this channel. If the source peripheral is memory, then this bit is
ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored.
- 0x1 (SOFTWARE HS): Software handshaking interface. Hardware initiated transaction
requests are ignored.
Value after reset: 0x1
Volatile: true
10 RW HS SEL DST
Destination Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for destination requests on this channel. If the destination peripheral is memory, then this
bit is ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored. - 0x1 (SOFTWARE HS): Software handshaking interface. Hardware
initiated transaction requests are ignored. Value after reset: 0x1
Volatile: true
9 R FIFO EMPTY
Channel FIFO status.
Indicates if there is data left in the channel FIFO. Can be used in conjunction with
CFG2.CH SUSP to cleanly disable a channel. For more information, refer to ”Disabling
a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT EMPTY): Channel FIFO is not empty
- 0x1 (EMPTY): Channel FIFO is empty
Value after reset: 0x1
Volatile: true
8 R CH SUSP
Channel Suspend.
Suspends all DMA data transfers from the source until this bit is cleared. There is no
guarantee that the current transaction will complete. Can also be used in conjunction
with CFG2.FIFO EMPTY to cleanly disable a channel without losing any data. For more
information, refer to ”Disabling a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT SUSPENDED): DMA transfer from the source is not suspended
- 0x1 (SUSPENDED): Suspend DMA transfer from the source
Value after reset: 0x0
Volatile: true
7 :5 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: x
Volatile: true
4 :0 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW SGC
Source Gather Count.
Source contiguous tranfer count between successive gather boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW SGI
Source Gather Interval.
Value after reset: 0x0
Volatile: true
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW DSC
Destination Scatter Count.
Destination contiguous transfer count between successive scatter boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW DSI
Destination Scatter Interval.
Value after reset: 0x0
Volatile: true
31:0 RW SAR
Current Source Address of DMA transfer.
Updated after each source transfer. The SINC field in the CTL3 register determines
whether the address increments, decrements, or is left unchanged on every source trans-
fer through the block transfer.
Value after reset: 0x0
Volatile: true
31:0 RW DAR
Current Destination address of DMA transfer.
Updated after each destination transfer. The DINC field in the CTL3 register determines
whether the address increments, decrements, or is left unchanged on every destination
transfer throughout the block transfer.
Value after reset: 0x0
Volatile: true
Offset: 118h LLP3: Linked List Pointer Register for Channel 3 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:2 RW LOC
Starting Address In Memory of next LLI if block chaining is enabled. Note that the two LSBs
of the starting address are not stored because the address is assumed to be aligned to
a 32-bit boundary. LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit
boundaries and cannot be changed or programmed to anything other than 32-bit.
Value after reset: 0x0
Volatile: true
1 :0 RW LMS
List Master Select.
Identifies the AHB layer/interface where the memory device that stores the next linked
list item resides. This field does not exist if the configuration parameter is not set to
NO HARDCODE. In this case, the read-back value is always the hardcoded value. The
maximum value of this field that can be read back is DMAH NUM MASTER INT-1.
Values:
- 0x0 (LIST MASTER SELECT 1): The memory device stores the next linked list item on
AHB master 1
- 0x1 (LIST MASTER SELECT 2): The memory device stores the next linked list item on
AHB master 2
- 0x2 (LIST MASTER SELECT 3): The memory device stores the next linked list item on
AHB master 3
- 0x3 (LIST MASTER SELECT 4): The memory device stores the next linked list item on
AHB master 4
Value after reset: 0x0
Volatile: true
44 RW DONE
Done bit.
If status write-back is enabled, the upper word of the control register, CTL3[63:32], is writ-
ten to the control register location of the Linked List Item (LLI) in system memory at the
end of the block transfer with the done bit set.
Software can poll the LLI CTL3.DONE bit to see when a block transfer is complete. The
LLI CTL3.DONE bit should be cleared when the linked lists are set up in memory prior to
enabling the channel.
LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit boundaries and can-
not be changed or programmed to anything other than 32-bit. For more information, refer
to ”Multi-Block Transfers”.
Values:
- 0x0 (DISABLED): DONE bit is deasserted the enb of block transfer
- 0x1 (ENABLED): SET the DONE bit at the end of block transfer
Value after reset: 0x0
Volatile: true
43:37 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
36:32 RW BLOCK TS
Block Transfer Size.
When the HDMA is the flow controller, the user writes this field before the channel is
enabled in order to indicate the block size. The number programmed into BLOCK TS in-
dicates the total number of single transactions to perform for every block transfer; a single
transaction is mapped to a single AMBA beat
Width: The width of single transaction is determined by CTL3.SRC TR WIDTH. For fur-
ther information on setting this field, refer to ”Transfer Operation”.
Once the transfer starts, the read-back value is the total number of data items already read
from the source peripheral, regardless of what is the flow controller.
When the source or destination peripheral is assigned as the flow controller, then the max-
imum block size that can be read back saturates at DMAH CH3 MAX BLK SIZE, but the
actual block size can be greater.
Value after reset: 0x2
Volatile: true
31:29 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
28 RW LLP SRC EN
Block chaining is enabled on the source side only if the LLP SRC EN field is high and
LLP3.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”.
Values:
- 0x0 (LLP SRC DISABLE): Block chaining using Linked List is disabled on the Source
side
- 0x1 (LLP SRC ENABLE): Block chaining using Linked List is enabled on the Source side
Value after reset: 0x0
Volatile: true
27 RW LLP DST EN
Block chaining is enabled on the destination side only if LLP DST EN field is high and
LLP3.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”
Values:
- 0x0 (LLP DST DISABLE): Block chaining using Linked List is disabled on the Destination
side
- 0x1 (LLP DST ENABLE): Block chaining using Linked List is enabled on the Destination
side
Value after reset: 0x0
Volatile: true
26:25 RW SMS
Source Master Select.
Identifies the Master Interface layer where the source device (peripheral or mem-
ory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (SMS 0): Source device (peripheral or memory) is accessed from AHB master 1
- 0x1 (SMS 1): Source device (peripheral or memory) is accessed from AHB master 2
- 0x2 (SMS 2): Source device (peripheral or memory) is accessed from AHB master 3
- 0x3 (SMS 3): Source device (peripheral or memory) is accessed from AHB master 4
Value after reset: 0x0
Volatile: true
24:23 RW DMS
Destination Master Select.
Identifies the Master Interface layer where the destination device (peripheral or
memory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (DMS 0): Destination device (peripheral or memory) is accessed from AHB master
1
- 0x1 (DMS 1): Destination device (peripheral or memory) is accessed from AHB master
2
- 0x2 (DMS 2): Destination device (peripheral or memory) is accessed from AHB master
3
- 0x3 (DMS 3): Destination device (peripheral or memory) is accessed from AHB master
4
Value after reset: 0x0
Volatile: true
22:20 RW TT FC
Transfer Type and Flow Control.
Flow control can be assigned to the HDMA, the source peripheral, or the destination pe-
ripheral. For more information on transfer types and flow control, refer to ”Setup/Operation
of the HDMA Transfers”.
Dependencies: If the configuration parameter DMAH CH3 FC is set to DMA FC ONLY,
then TT FC[2] does not exist and TT FC[2] always reads back 0. If DMAH CH3 FC is
set to SRC FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1] always reads back
2’b10.
If DMAH CH3 FC is set to DST FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1]
always reads back 2’b11. For multi-block transfers using linked list operation, TT FC must
be constant for all blocks of this multi-block transfer.
Values:
- 0x0 (TT FC 0): Transfer type is Memory to Memory and Flow Controller is HDMA
- 0x1 (TT FC 1): Transfer type is Memory to Peripheral and Flow Controller is HDMA
- 0x2 (TT FC 2): Transfer type is Peripheral to Memory and Flow Controller is HDMA
- 0x3 (TT FC 3): Transfer type is Peripheral to Peripheral and Flow Controller is HDMA
- 0x4 (TT FC 4): Transfer type is Peripheral to Memory and Flow Controller is Peripheral
- 0x5 (TT FC 5): Transfer type is Peripheral to Peripheral and Flow Controller is Source
Peripheral
- 0x6 (TT FC 6): Transfer type is Memory to Peripheral and Flow Controller is Peripheral
- 0x7 (TT FC 7): Transfer type is Peripheral to Peripheral and Flow Controller is Destina-
tion Peripheral
Value after reset: 0x3
Volatile: true
19 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
18 RW DST SCATTER EN
Destination scatter enable.
Scatter on the destination side is applicable only when the CTL3.DINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (DST SCATTER DISABLE): Destination Scatter is disabled
- 0x1 (DST SCATTER ENABLE): Destination Scatter is enabled
Value after reset: 0x0
Volatile: true
17 RW SRC GATHER EN
Destination gather enable.
Gather on the destination side is applicable only when the CTL3.SINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (SRC SCATTER DISABLE): Source gather is disabled
- 0x1 (SRC SCATTER ENABLE): Source gather is enabled
Value after reset: 0x0
Volatile: true
10:9 RW SINC
Source Address Increment.
Indicates whether to increment or decrement the source address on every source transfer.
If the device is fetching data from a source peripheral FIFO with a fixed address, then set
this field to ”No change”.
Values:
- 0x0 (SINC 0): Increments the source address
- 0x1 (SINC 1): Decrements the source address
- 0x2 (SINC 2): No change in the source address
- 0x3 (SINC 3): No change in the source address
Value after reset: 0x0
Volatile: true
8 :7 RW DINC
Distination Address Increment.
Indicates whether to increment or decrement the destination address on every destination
transfer. If your device is writing data to a destination peripheral FIFO with a fixed address,
then set this field to ”No Change”.
Values:
- 0x0 (DINC 0): Increments the distination address
- 0x1 (DINC 1): Decrements the distination address
- 0x2 (DINC 2): No change in the distination address
- 0x3 (DINC 3): No change in the distination address
Value after reset: 0x0
Volatile: true
6 :4 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: 0x2
Volatile: true
3 :1 RW DST TR WIDTH
Destination Transfer Width. Mapped to AHB bus hsize.
For a non-memory peripheral, typically the peripheral (destination) FIFO width.
This value must be less than or equal to DMAH Mk HDATA WIDTH where k is the AHB
layer 1 to 4 where the destination resides. For the decoding of this field, see the ”Setting
Up Transfers” section in the HDMA Databook.
Values:
- 0x0 (DST TR WIDTH 0): Destination transfer width is 8 bits
- 0x1 (DST TR WIDTH 1): Destination transfer width is 16 bits
- 0x2 (DST TR WIDTH 2): Destination transfer width is 32 bits
- 0x3 (DST TR WIDTH 3): Destination transfer width is 64 bits
- 0x4 (DST TR WIDTH 4): Destination transfer width is 128 bits
- 0x5 (DST TR WIDTH 5): Destination transfer width is 256 bits
- 0x6 (DST TR WIDTH 6): Destination transfer width is 256 bits
- 0x7 (DST TR WIDTH 7): Destination transfer width is 256 bits
Value after reset: 0x2
Volatile: true
0 RW INT EN
Interrupt Enable Bit.
If set, then all interrupt-generating sources are enabled. Functions as a global mask bit for
all interrupts for the channel; raw* interrupt registers still assert if CTL2.INT EN=0.
Values:
- 0x0 (INTERRUPT DISABLE): Interrupt is disabled
- 0x1 (INTERRUPT ENABLE): Interrupt is enabled
Value after reset: 0x1
Volatile: true
31:0 RW SSTAT
Source status information retrieved by hardware from the address pointed to by the con-
tents of the STATAR3 register
Value after reset: 0x0
Volatile: true
31:0 RW DSTAT
Destination status information retrieved by hardware from the address pointed to by the
contents of DSTATAR3 register.
Value after reset: 0x0
Volatile: true
Offset: 138h SSTATAR3: Source Status Address Register for Channel 3 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:0 RW SSTATAR
Pointer from where hardware can fetch the source status information, which is registered
in the SSTAT3 register and written out to the SSTAT3 register location of the LLI before the
start of the next block.
Value after reset: 0x0
Volatile: true
Offset: 140h DSTATAR3: Source Status Address Register for Channel 3 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:0 RW DSTATAR
Pointer from where hardware can fetch the destination status information, which is reg-
istered in the DSTAT3 register and written out to the DSTAT3 register location of the LLI
before the start of the next block.
Value after reset: 0x0
Volatile: true
38 RW SS UPD EN
Source Status Update Enable.
Source status information is fetched only from the location pointed to by the SSTATAR3
register, stored in the SSTAT3 register and written out to the SSTAT3 location of the LLI, if
SS UPD EN is high.
Note: This enalbe is applicable only if DMAH CH3 STAT SRC is set to True. This field
does not exist if the configuration parameter DMAH CH3 STAT SRC is set to False; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Source Status Update is disabled.
- 0x1 (ENABLED): Source Status Update is enabled.
Value after reset: 0x0
Volatile: true
37 RW DS UPD EN
Destination Status Update Enable.
Destination status information is fetched only from the location pointed to by the DSTATAR0
register, stored in the DSTAT3 register and written out to the DSTAT3 location of the
LLI, if DS UPD EN is high. This field does not exist if the configuration parameter
DMAH CH1 SATAT DST is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Destination Status Update is disabled.
- 0x1 (ENABLED): Destination Status Update is enabled.
Value after reset: 0x0
Volatile: true
36:34 RW PROTCTL
Protection Control bits used to drive the AHB HPROT[3:1] bus. The AMBA Specification
recommends that the default of HPROT indicates a non-cached, non-buffered, privileged
data access. The reset value is used to indicate such an access.
HPROT[0] is tied high because all transfers are data accesses, as there are no opcode
fetches.
There is a one-to-one mapping of these register bits to the HPROT[3:1] master interface
signals.
Mapping of HPROT bus is as follows:
- 1’b1 to HPROT[0]
- CFG1.PROTCTL[1] to HPROT[1]
- CFG1.PROTCTL[2] to HPROT[2]
- CFG1.PROTCTL[3] to HPROT[3]
Value after reset: 0x1
Volatile: true
33 RW FIFO MODE
FIFO Mode Select.
Determines how much space or data needs to be available in the FIFO before a burst
transaction request is serviced.
Values:
- 0x0 (FIFO MODE 0): Space/data available for single AHB transfer of the specified trans-
fer width - 0x1 (FIFO MODE 1): Data available is greater than or equal to half the FIFO
depth for destination transfers and space available is greater than half the fifo depth for
source transfers. The exceptions are at the end of a burst transaction request or at the
end of a block transfer. Value after reset: 0x0
Volatile: true
32 RW FCMODE
Flow Control Mode.
Determines when source transaction requests are serviced when the Destination Periph-
eral is the flow controller.
Values:
- 0x0 (FCMODE 0): Source transaction requests are serviced when they occur. Data pre-
fetching is enabled
- 0x1 (FCMODE 1): Source transaction requests are not serviced until a destination trans-
action request occurs. In this mode, the amount of data transferred from the source is
limited so that it is guaranteed to be transferred to the destination prior to block termina-
tion by the destination. Data pre-fetching is disabled.
Value after reset: 0x0
Volatile: true
31 RW RELOAD DST
Automatic Destination Reload.
The DAR2 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This register does
not exist if the configuration parameter DMAH CH3 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Destination Reload Disabled.
- 0x1 (ENABLE): Destination Reload Enabled.
Value after reset: 0x0
Volatile: true
30 RW RELOAD SRC
Automatic Source Reload.
The SAR3 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This field does not
exist if the configuration parameter DMAH CH3 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Source Reload Disabled.
- 0x1 (ENABLE): Source Reload Enabled.
Value after reset: 0x0
Volatile: true
19 RW SRC HS POL
Source Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Source Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Source Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
18 RW DST HS POL
Destination Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Destination Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Destination Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
17 RW LOCK B
Bus Lock Bit.
When active, the AHB bus master signal hlock is asserted for the duration specified in
CFG0.LOCK B L. For more information, refer to ”Locked DMA Transfers”. This field does
not exist if the configuration parameter DMAH CH3 LOCK EN is set to False; in this case,
the read-back value is always 0.
Values:
- 0x0 (DISABLED): Bus lock bit is not enabled - 0x1 (ENABLED): Bus lock bit is enabled
Value after reset: 0x0
Volatile: true
16 RW LOCK CH
Channel Lock Bit.
When the channel is granted control of the master bus interface and if the CFG3.LOCK CH
bit is asserted, then no other channels are granted control of the master bus interface
for the duration specified in CFG3.LOCK CH L. Indicates to the master bus interface ar-
biter that this channel wants exclusive access to the master bus interface for the duration
specified in CFG3.LOCK CH L. This field does not exist if the configuration parameter
DMAH CH3 LOCK EN is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Channel lock bit is not enabled
- 0x1 (ENABLED): Channel lock bit is enabled
Value after reset: 0x0
Volatile: true
14:15 RW LOCK B L
Bus lock level.
Indicates the duration over which CFG3.LOCK B bit applies. This field does not exist if
the parameter DMAH CH3 LOCK EN is set to False; in this case, the read-back value is
always 0.
Values:
- 0x0 (LOCK B L 0): Over complete DMA transfer
- 0x1 (LOCK B L 1): Over complete DMA block transfer
- 0x2 (LOCK B L 2): Over complete DMA transaction
- 0x3 (LOCK B L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
13:12 RW LOCK CH L
Channel Local Level.
Indicates the duration over which CFG3.LOCK CH applies. This field does not exist if the
configuration parameter DMAH CH3 LOCK EN is set to False; in this case, the read-back
value is always 0.
Values:
- 0x0 (LOCK CH L 0): Over complete DMA transfer
- 0x1 (LOCK CH L 1): Over complete DMA block transfer
- 0x2 (LOCK CH L 2): Over complete DMA transaction
- 0x3 (LOCK CH L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
11 RW HS SEL SRC
Source Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for source requests on this channel. If the source peripheral is memory, then this bit is
ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored.
- 0x1 (SOFTWARE HS): Software handshaking interface. Hardware initiated transaction
requests are ignored.
Value after reset: 0x1
Volatile: true
10 RW HS SEL DST
Destination Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for destination requests on this channel. If the destination peripheral is memory, then this
bit is ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored. - 0x1 (SOFTWARE HS): Software handshaking interface. Hardware
initiated transaction requests are ignored. Value after reset: 0x1
Volatile: true
9 R FIFO EMPTY
Channel FIFO status.
Indicates if there is data left in the channel FIFO. Can be used in conjunction with
CFG3.CH SUSP to cleanly disable a channel. For more information, refer to ”Disabling
a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT EMPTY): Channel FIFO is not empty
- 0x1 (EMPTY): Channel FIFO is empty
Value after reset: 0x1
Volatile: true
8 R CH SUSP
Channel Suspend.
Suspends all DMA data transfers from the source until this bit is cleared. There is no
guarantee that the current transaction will complete. Can also be used in conjunction
with CFG3.FIFO EMPTY to cleanly disable a channel without losing any data. For more
information, refer to ”Disabling a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT SUSPENDED): DMA transfer from the source is not suspended
- 0x1 (SUSPENDED): Suspend DMA transfer from the source
Value after reset: 0x0
Volatile: true
7 :5 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: x
Volatile: true
4 :0 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW SGC
Source Gather Count.
Source contiguous tranfer count between successive gather boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW SGI
Source Gather Interval.
Value after reset: 0x0
Volatile: true
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW DSC
Destination Scatter Count.
Destination contiguous transfer count between successive scatter boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW DSI
Destination Scatter Interval.
Value after reset: 0x0
Volatile: true
31:0 RW SAR
Current Source Address of DMA transfer.
Updated after each source transfer. The SINC field in the CTL4 register determines
whether the address increments, decrements, or is left unchanged on every source trans-
fer through the block transfer.
Value after reset: 0x0
Volatile: true
31:0 RW DAR
Current Destination address of DMA transfer.
Updated after each destination transfer. The DINC field in the CTL4 register determines
whether the address increments, decrements, or is left unchanged on every destination
transfer throughout the block transfer.
Value after reset: 0x0
Volatile: true
Offset: 170h LLP4: Linked List Pointer Register for Channel 4 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:2 RW LOC
Starting Address In Memory of next LLI if block chaining is enabled. Note that the two LSBs
of the starting address are not stored because the address is assumed to be aligned to
a 32-bit boundary. LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit
boundaries and cannot be changed or programmed to anything other than 32-bit.
Value after reset: 0x0
Volatile: true
1 :0 RW LMS
List Master Select.
Identifies the AHB layer/interface where the memory device that stores the next linked
list item resides. This field does not exist if the configuration parameter is not set to
NO HARDCODE. In this case, the read-back value is always the hardcoded value. The
maximum value of this field that can be read back is DMAH NUM MASTER INT-1.
Values:
- 0x0 (LIST MASTER SELECT 1): The memory device stores the next linked list item on
AHB master 1
- 0x1 (LIST MASTER SELECT 2): The memory device stores the next linked list item on
AHB master 2
- 0x2 (LIST MASTER SELECT 3): The memory device stores the next linked list item on
AHB master 3
- 0x3 (LIST MASTER SELECT 4): The memory device stores the next linked list item on
AHB master 4
Value after reset: 0x0
Volatile: true
44 RW DONE
Done bit.
If status write-back is enabled, the upper word of the control register, CTL4[63:32], is writ-
ten to the control register location of the Linked List Item (LLI) in system memory at the
end of the block transfer with the done bit set.
Software can poll the LLI CTL4.DONE bit to see when a block transfer is complete. The
LLI CTL4.DONE bit should be cleared when the linked lists are set up in memory prior to
enabling the channel.
LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit boundaries and can-
not be changed or programmed to anything other than 32-bit. For more information, refer
to ”Multi-Block Transfers”.
Values:
- 0x0 (DISABLED): DONE bit is deasserted the enb of block transfer
- 0x1 (ENABLED): SET the DONE bit at the end of block transfer
Value after reset: 0x0
Volatile: true
43:37 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
36:32 RW BLOCK TS
Block Transfer Size.
When the HDMA is the flow controller, the user writes this field before the channel is
enabled in order to indicate the block size. The number programmed into BLOCK TS in-
dicates the total number of single transactions to perform for every block transfer; a single
transaction is mapped to a single AMBA beat
Width: The width of single transaction is determined by CTL4.SRC TR WIDTH. For fur-
ther information on setting this field, refer to ”Transfer Operation”.
Once the transfer starts, the read-back value is the total number of data items already read
from the source peripheral, regardless of what is the flow controller.
When the source or destination peripheral is assigned as the flow controller, then the max-
imum block size that can be read back saturates at DMAH CH4 MAX BLK SIZE, but the
actual block size can be greater.
Value after reset: 0x2
Volatile: true
31:29 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
28 RW LLP SRC EN
Block chaining is enabled on the source side only if the LLP SRC EN field is high and
LLP4.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”.
Values:
- 0x0 (LLP SRC DISABLE): Block chaining using Linked List is disabled on the Source
side
- 0x1 (LLP SRC ENABLE): Block chaining using Linked List is enabled on the Source side
Value after reset: 0x0
Volatile: true
27 RW LLP DST EN
Block chaining is enabled on the destination side only if LLP DST EN field is high and
LLP4.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”
Values:
- 0x0 (LLP DST DISABLE): Block chaining using Linked List is disabled on the Destination
side
- 0x1 (LLP DST ENABLE): Block chaining using Linked List is enabled on the Destination
side
Value after reset: 0x0
Volatile: true
26:25 RW SMS
Source Master Select.
Identifies the Master Interface layer where the source device (peripheral or mem-
ory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (SMS 0): Source device (peripheral or memory) is accessed from AHB master 1
- 0x1 (SMS 1): Source device (peripheral or memory) is accessed from AHB master 2
- 0x2 (SMS 2): Source device (peripheral or memory) is accessed from AHB master 3
- 0x3 (SMS 3): Source device (peripheral or memory) is accessed from AHB master 4
Value after reset: 0x0
Volatile: true
24:23 RW DMS
Destination Master Select.
Identifies the Master Interface layer where the destination device (peripheral or
memory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (DMS 0): Destination device (peripheral or memory) is accessed from AHB master
1
- 0x1 (DMS 1): Destination device (peripheral or memory) is accessed from AHB master
2
- 0x2 (DMS 2): Destination device (peripheral or memory) is accessed from AHB master
3
- 0x3 (DMS 3): Destination device (peripheral or memory) is accessed from AHB master
4
Value after reset: 0x0
Volatile: true
22:20 RW TT FC
Transfer Type and Flow Control.
Flow control can be assigned to the HDMA, the source peripheral, or the destination pe-
ripheral. For more information on transfer types and flow control, refer to ”Setup/Operation
of the HDMA Transfers”.
Dependencies: If the configuration parameter DMAH CH4 FC is set to DMA FC ONLY,
then TT FC[2] does not exist and TT FC[2] always reads back 0. If DMAH CH4 FC is
set to SRC FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1] always reads back
2’b10.
If DMAH CH4 FC is set to DST FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1]
always reads back 2’b11. For multi-block transfers using linked list operation, TT FC must
be constant for all blocks of this multi-block transfer.
Values:
- 0x0 (TT FC 0): Transfer type is Memory to Memory and Flow Controller is HDMA
- 0x1 (TT FC 1): Transfer type is Memory to Peripheral and Flow Controller is HDMA
- 0x2 (TT FC 2): Transfer type is Peripheral to Memory and Flow Controller is HDMA
- 0x3 (TT FC 3): Transfer type is Peripheral to Peripheral and Flow Controller is HDMA
- 0x4 (TT FC 4): Transfer type is Peripheral to Memory and Flow Controller is Peripheral
- 0x5 (TT FC 5): Transfer type is Peripheral to Peripheral and Flow Controller is Source
Peripheral
- 0x6 (TT FC 6): Transfer type is Memory to Peripheral and Flow Controller is Peripheral
- 0x7 (TT FC 7): Transfer type is Peripheral to Peripheral and Flow Controller is Destina-
tion Peripheral
Value after reset: 0x3
Volatile: true
19 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
18 RW DST SCATTER EN
Destination scatter enable.
Scatter on the destination side is applicable only when the CTL4.DINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (DST SCATTER DISABLE): Destination Scatter is disabled
- 0x1 (DST SCATTER ENABLE): Destination Scatter is enabled
Value after reset: 0x0
Volatile: true
17 RW SRC GATHER EN
Destination gather enable.
Gather on the destination side is applicable only when the CTL4.SINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (SRC SCATTER DISABLE): Source gather is disabled
- 0x1 (SRC SCATTER ENABLE): Source gather is enabled
Value after reset: 0x0
Volatile: true
10:9 RW SINC
Source Address Increment.
Indicates whether to increment or decrement the source address on every source transfer.
If the device is fetching data from a source peripheral FIFO with a fixed address, then set
this field to ”No change”.
Values:
- 0x0 (SINC 0): Increments the source address
- 0x1 (SINC 1): Decrements the source address
- 0x2 (SINC 2): No change in the source address
- 0x3 (SINC 3): No change in the source address
Value after reset: 0x0
Volatile: true
8 :7 RW DINC
Distination Address Increment.
Indicates whether to increment or decrement the destination address on every destination
transfer. If your device is writing data to a destination peripheral FIFO with a fixed address,
then set this field to ”No Change”.
Values:
- 0x0 (DINC 0): Increments the distination address
- 0x1 (DINC 1): Decrements the distination address
- 0x2 (DINC 2): No change in the distination address
- 0x3 (DINC 3): No change in the distination address
Value after reset: 0x0
Volatile: true
6 :4 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: 0x2
Volatile: true
3 :1 RW DST TR WIDTH
Destination Transfer Width. Mapped to AHB bus hsize.
For a non-memory peripheral, typically the peripheral (destination) FIFO width.
This value must be less than or equal to DMAH Mk HDATA WIDTH where k is the AHB
layer 1 to 4 where the destination resides. For the decoding of this field, see the ”Setting
Up Transfers” section in the HDMA Databook.
Values:
- 0x0 (DST TR WIDTH 0): Destination transfer width is 8 bits
- 0x1 (DST TR WIDTH 1): Destination transfer width is 16 bits
- 0x2 (DST TR WIDTH 2): Destination transfer width is 32 bits
- 0x3 (DST TR WIDTH 3): Destination transfer width is 64 bits
- 0x4 (DST TR WIDTH 4): Destination transfer width is 128 bits
- 0x5 (DST TR WIDTH 5): Destination transfer width is 256 bits
- 0x6 (DST TR WIDTH 6): Destination transfer width is 256 bits
- 0x7 (DST TR WIDTH 7): Destination transfer width is 256 bits
Value after reset: 0x2
Volatile: true
0 RW INT EN
Interrupt Enable Bit.
If set, then all interrupt-generating sources are enabled. Functions as a global mask bit for
all interrupts for the channel; raw* interrupt registers still assert if CTL2.INT EN=0.
Values:
- 0x0 (INTERRUPT DISABLE): Interrupt is disabled
- 0x1 (INTERRUPT ENABLE): Interrupt is enabled
Value after reset: 0x1
Volatile: true
31:0 RW SSTAT
Source status information retrieved by hardware from the address pointed to by the con-
tents of the STATAR4 register
Value after reset: 0x0
Volatile: true
31:0 RW DSTAT
Destination status information retrieved by hardware from the address pointed to by the
contents of DSTATAR4 register.
Value after reset: 0x0
Volatile: true
Offset: 190h SSTATAR4: Source Status Address Register for Channel 4 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:0 RW SSTATAR
Pointer from where hardware can fetch the source status information, which is registered
in the SSTAT4 register and written out to the SSTAT4 register location of the LLI before the
start of the next block.
Value after reset: 0x0
Volatile: true
Offset: 198h DSTATAR4: Source Status Address Register for Channel 4 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:0 RW DSTATAR
Pointer from where hardware can fetch the destination status information, which is reg-
istered in the DSTAT4 register and written out to the DSTAT4 register location of the LLI
before the start of the next block.
Value after reset: 0x0
Volatile: true
38 RW SS UPD EN
Source Status Update Enable.
Source status information is fetched only from the location pointed to by the SSTATAR4
register, stored in the SSTAT4 register and written out to the SSTAT4 location of the LLI, if
SS UPD EN is high.
Note: This enalbe is applicable only if DMAH CH4 STAT SRC is set to True. This field
does not exist if the configuration parameter DMAH CH4 STAT SRC is set to False; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Source Status Update is disabled.
- 0x1 (ENABLED): Source Status Update is enabled.
Value after reset: 0x0
Volatile: true
37 RW DS UPD EN
Destination Status Update Enable.
Destination status information is fetched only from the location pointed to by the DSTATAR0
register, stored in the DSTAT4 register and written out to the DSTAT4 location of the
LLI, if DS UPD EN is high. This field does not exist if the configuration parameter
DMAH CH1 SATAT DST is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Destination Status Update is disabled.
- 0x1 (ENABLED): Destination Status Update is enabled.
Value after reset: 0x0
Volatile: true
36:34 RW PROTCTL
Protection Control bits used to drive the AHB HPROT[3:1] bus. The AMBA Specification
recommends that the default of HPROT indicates a non-cached, non-buffered, privileged
data access. The reset value is used to indicate such an access.
HPROT[0] is tied high because all transfers are data accesses, as there are no opcode
fetches.
There is a one-to-one mapping of these register bits to the HPROT[3:1] master interface
signals.
Mapping of HPROT bus is as follows:
- 1’b1 to HPROT[0]
- CFG1.PROTCTL[1] to HPROT[1]
- CFG1.PROTCTL[2] to HPROT[2]
- CFG1.PROTCTL[3] to HPROT[3]
Value after reset: 0x1
Volatile: true
33 RW FIFO MODE
FIFO Mode Select.
Determines how much space or data needs to be available in the FIFO before a burst
transaction request is serviced.
Values:
- 0x0 (FIFO MODE 0): Space/data available for single AHB transfer of the specified trans-
fer width - 0x1 (FIFO MODE 1): Data available is greater than or equal to half the FIFO
depth for destination transfers and space available is greater than half the fifo depth for
source transfers. The exceptions are at the end of a burst transaction request or at the
end of a block transfer. Value after reset: 0x0
Volatile: true
32 RW FCMODE
Flow Control Mode.
Determines when source transaction requests are serviced when the Destination Periph-
eral is the flow controller.
Values:
- 0x0 (FCMODE 0): Source transaction requests are serviced when they occur. Data pre-
fetching is enabled
- 0x1 (FCMODE 1): Source transaction requests are not serviced until a destination trans-
action request occurs. In this mode, the amount of data transferred from the source is
limited so that it is guaranteed to be transferred to the destination prior to block termina-
tion by the destination. Data pre-fetching is disabled.
Value after reset: 0x0
Volatile: true
31 RW RELOAD DST
Automatic Destination Reload.
The DAR2 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This register does
not exist if the configuration parameter DMAH CH4 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Destination Reload Disabled.
- 0x1 (ENABLE): Destination Reload Enabled.
Value after reset: 0x0
Volatile: true
30 RW RELOAD SRC
Automatic Source Reload.
The SAR4 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This field does not
exist if the configuration parameter DMAH CH4 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Source Reload Disabled.
- 0x1 (ENABLE): Source Reload Enabled.
Value after reset: 0x0
Volatile: true
19 RW SRC HS POL
Source Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Source Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Source Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
18 RW DST HS POL
Destination Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Destination Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Destination Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
17 RW LOCK B
Bus Lock Bit.
When active, the AHB bus master signal hlock is asserted for the duration specified in
CFG0.LOCK B L. For more information, refer to ”Locked DMA Transfers”. This field does
not exist if the configuration parameter DMAH CH4 LOCK EN is set to False; in this case,
the read-back value is always 0.
Values:
- 0x0 (DISABLED): Bus lock bit is not enabled - 0x1 (ENABLED): Bus lock bit is enabled
Value after reset: 0x0
Volatile: true
16 RW LOCK CH
Channel Lock Bit.
When the channel is granted control of the master bus interface and if the CFG4.LOCK CH
bit is asserted, then no other channels are granted control of the master bus interface
for the duration specified in CFG4.LOCK CH L. Indicates to the master bus interface ar-
biter that this channel wants exclusive access to the master bus interface for the duration
specified in CFG3.LOCK CH L. This field does not exist if the configuration parameter
DMAH CH4 LOCK EN is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Channel lock bit is not enabled
- 0x1 (ENABLED): Channel lock bit is enabled
Value after reset: 0x0
Volatile: true
14:15 RW LOCK B L
Bus lock level.
Indicates the duration over which CFG4.LOCK B bit applies. This field does not exist if
the parameter DMAH CH4 LOCK EN is set to False; in this case, the read-back value is
always 0.
Values:
- 0x0 (LOCK B L 0): Over complete DMA transfer
- 0x1 (LOCK B L 1): Over complete DMA block transfer
- 0x2 (LOCK B L 2): Over complete DMA transaction
- 0x3 (LOCK B L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
13:12 RW LOCK CH L
Channel Local Level.
Indicates the duration over which CFG4.LOCK CH applies. This field does not exist if the
configuration parameter DMAH CH4 LOCK EN is set to False; in this case, the read-back
value is always 0.
Values:
- 0x0 (LOCK CH L 0): Over complete DMA transfer
- 0x1 (LOCK CH L 1): Over complete DMA block transfer
- 0x2 (LOCK CH L 2): Over complete DMA transaction
- 0x3 (LOCK CH L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
11 RW HS SEL SRC
Source Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for source requests on this channel. If the source peripheral is memory, then this bit is
ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored.
- 0x1 (SOFTWARE HS): Software handshaking interface. Hardware initiated transaction
requests are ignored.
Value after reset: 0x1
Volatile: true
10 RW HS SEL DST
Destination Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for destination requests on this channel. If the destination peripheral is memory, then this
bit is ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored. - 0x1 (SOFTWARE HS): Software handshaking interface. Hardware
initiated transaction requests are ignored. Value after reset: 0x1
Volatile: true
9 R FIFO EMPTY
Channel FIFO status.
Indicates if there is data left in the channel FIFO. Can be used in conjunction with
CFG4.CH SUSP to cleanly disable a channel. For more information, refer to ”Disabling
a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT EMPTY): Channel FIFO is not empty
- 0x1 (EMPTY): Channel FIFO is empty
Value after reset: 0x1
Volatile: true
8 R CH SUSP
Channel Suspend.
Suspends all DMA data transfers from the source until this bit is cleared. There is no
guarantee that the current transaction will complete. Can also be used in conjunction
with CFG4.FIFO EMPTY to cleanly disable a channel without losing any data. For more
information, refer to ”Disabling a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT SUSPENDED): DMA transfer from the source is not suspended
- 0x1 (SUSPENDED): Suspend DMA transfer from the source
Value after reset: 0x0
Volatile: true
7 :5 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: x
Volatile: true
4 :0 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW SGC
Source Gather Count.
Source contiguous tranfer count between successive gather boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW SGI
Source Gather Interval.
Value after reset: 0x0
Volatile: true
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW DSC
Destination Scatter Count.
Destination contiguous transfer count between successive scatter boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW DSI
Destination Scatter Interval.
Value after reset: 0x0
Volatile: true
31:0 RW SAR
Current Source Address of DMA transfer.
Updated after each source transfer. The SINC field in the CTL5 register determines
whether the address increments, decrements, or is left unchanged on every source trans-
fer through the block transfer.
Value after reset: 0x0
Volatile: true
31:0 RW DAR
Current Destination address of DMA transfer.
Updated after each destination transfer. The DINC field in the CTL5 register determines
whether the address increments, decrements, or is left unchanged on every destination
transfer throughout the block transfer.
Value after reset: 0x0
Volatile: true
Offset: 1C8h LLP5: Linked List Pointer Register for Channel 5 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:2 RW LOC
Starting Address In Memory of next LLI if block chaining is enabled. Note that the two LSBs
of the starting address are not stored because the address is assumed to be aligned to
a 32-bit boundary. LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit
boundaries and cannot be changed or programmed to anything other than 32-bit.
Value after reset: 0x0
Volatile: true
1 :0 RW LMS
List Master Select.
Identifies the AHB layer/interface where the memory device that stores the next linked
list item resides. This field does not exist if the configuration parameter is not set to
NO HARDCODE. In this case, the read-back value is always the hardcoded value. The
maximum value of this field that can be read back is DMAH NUM MASTER INT-1.
Values:
- 0x0 (LIST MASTER SELECT 1): The memory device stores the next linked list item on
AHB master 1
- 0x1 (LIST MASTER SELECT 2): The memory device stores the next linked list item on
AHB master 2
- 0x2 (LIST MASTER SELECT 3): The memory device stores the next linked list item on
AHB master 3
- 0x3 (LIST MASTER SELECT 4): The memory device stores the next linked list item on
AHB master 4
Value after reset: 0x0
Volatile: true
44 RW DONE
Done bit.
If status write-back is enabled, the upper word of the control register, CTL5[63:32], is writ-
ten to the control register location of the Linked List Item (LLI) in system memory at the
end of the block transfer with the done bit set.
Software can poll the LLI CTL5.DONE bit to see when a block transfer is complete. The
LLI CTL5.DONE bit should be cleared when the linked lists are set up in memory prior to
enabling the channel.
LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit boundaries and can-
not be changed or programmed to anything other than 32-bit. For more information, refer
to ”Multi-Block Transfers”.
Values:
- 0x0 (DISABLED): DONE bit is deasserted the enb of block transfer
- 0x1 (ENABLED): SET the DONE bit at the end of block transfer
Value after reset: 0x0
Volatile: true
43:37 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
36:32 RW BLOCK TS
Block Transfer Size.
When the HDMA is the flow controller, the user writes this field before the channel is
enabled in order to indicate the block size. The number programmed into BLOCK TS in-
dicates the total number of single transactions to perform for every block transfer; a single
transaction is mapped to a single AMBA beat
Width: The width of single transaction is determined by CTL5.SRC TR WIDTH. For fur-
ther information on setting this field, refer to ”Transfer Operation”.
Once the transfer starts, the read-back value is the total number of data items already read
from the source peripheral, regardless of what is the flow controller.
When the source or destination peripheral is assigned as the flow controller, then the max-
imum block size that can be read back saturates at DMAH CH5 MAX BLK SIZE, but the
actual block size can be greater.
Value after reset: 0x2
Volatile: true
31:29 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
28 RW LLP SRC EN
Block chaining is enabled on the source side only if the LLP SRC EN field is high and
LLP5.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”.
Values:
- 0x0 (LLP SRC DISABLE): Block chaining using Linked List is disabled on the Source
side
- 0x1 (LLP SRC ENABLE): Block chaining using Linked List is enabled on the Source side
Value after reset: 0x0
Volatile: true
27 RW LLP DST EN
Block chaining is enabled on the destination side only if LLP DST EN field is high and
LLP5.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”
Values:
- 0x0 (LLP DST DISABLE): Block chaining using Linked List is disabled on the Destination
side
- 0x1 (LLP DST ENABLE): Block chaining using Linked List is enabled on the Destination
side
Value after reset: 0x0
Volatile: true
26:25 RW SMS
Source Master Select.
Identifies the Master Interface layer where the source device (peripheral or mem-
ory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (SMS 0): Source device (peripheral or memory) is accessed from AHB master 1
- 0x1 (SMS 1): Source device (peripheral or memory) is accessed from AHB master 2
- 0x2 (SMS 2): Source device (peripheral or memory) is accessed from AHB master 3
- 0x3 (SMS 3): Source device (peripheral or memory) is accessed from AHB master 4
Value after reset: 0x0
Volatile: true
24:23 RW DMS
Destination Master Select.
Identifies the Master Interface layer where the destination device (peripheral or
memory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (DMS 0): Destination device (peripheral or memory) is accessed from AHB master
1
- 0x1 (DMS 1): Destination device (peripheral or memory) is accessed from AHB master
2
- 0x2 (DMS 2): Destination device (peripheral or memory) is accessed from AHB master
3
- 0x3 (DMS 3): Destination device (peripheral or memory) is accessed from AHB master
4
Value after reset: 0x0
Volatile: true
22:20 RW TT FC
Transfer Type and Flow Control.
Flow control can be assigned to the HDMA, the source peripheral, or the destination pe-
ripheral. For more information on transfer types and flow control, refer to ”Setup/Operation
of the HDMA Transfers”.
Dependencies: If the configuration parameter DMAH CH5 FC is set to DMA FC ONLY,
then TT FC[2] does not exist and TT FC[2] always reads back 0. If DMAH CH5 FC is
set to SRC FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1] always reads back
2’b10.
If DMAH CH5 FC is set to DST FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1]
always reads back 2’b11. For multi-block transfers using linked list operation, TT FC must
be constant for all blocks of this multi-block transfer.
Values:
- 0x0 (TT FC 0): Transfer type is Memory to Memory and Flow Controller is HDMA
- 0x1 (TT FC 1): Transfer type is Memory to Peripheral and Flow Controller is HDMA
- 0x2 (TT FC 2): Transfer type is Peripheral to Memory and Flow Controller is HDMA
- 0x3 (TT FC 3): Transfer type is Peripheral to Peripheral and Flow Controller is HDMA
- 0x4 (TT FC 4): Transfer type is Peripheral to Memory and Flow Controller is Peripheral
- 0x5 (TT FC 5): Transfer type is Peripheral to Peripheral and Flow Controller is Source
Peripheral
- 0x6 (TT FC 6): Transfer type is Memory to Peripheral and Flow Controller is Peripheral
- 0x7 (TT FC 7): Transfer type is Peripheral to Peripheral and Flow Controller is Destina-
tion Peripheral
Value after reset: 0x3
Volatile: true
19 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
18 RW DST SCATTER EN
Destination scatter enable.
Scatter on the destination side is applicable only when the CTL5.DINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (DST SCATTER DISABLE): Destination Scatter is disabled
- 0x1 (DST SCATTER ENABLE): Destination Scatter is enabled
Value after reset: 0x0
Volatile: true
17 RW SRC GATHER EN
Destination gather enable.
Gather on the destination side is applicable only when the CTL5.SINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (SRC SCATTER DISABLE): Source gather is disabled
- 0x1 (SRC SCATTER ENABLE): Source gather is enabled
Value after reset: 0x0
Volatile: true
10:9 RW SINC
Source Address Increment.
Indicates whether to increment or decrement the source address on every source transfer.
If the device is fetching data from a source peripheral FIFO with a fixed address, then set
this field to ”No change”.
Values:
- 0x0 (SINC 0): Increments the source address
- 0x1 (SINC 1): Decrements the source address
- 0x2 (SINC 2): No change in the source address
- 0x3 (SINC 3): No change in the source address
Value after reset: 0x0
Volatile: true
8 :7 RW DINC
Distination Address Increment.
Indicates whether to increment or decrement the destination address on every destination
transfer. If your device is writing data to a destination peripheral FIFO with a fixed address,
then set this field to ”No Change”.
Values:
- 0x0 (DINC 0): Increments the distination address
- 0x1 (DINC 1): Decrements the distination address
- 0x2 (DINC 2): No change in the distination address
- 0x3 (DINC 3): No change in the distination address
Value after reset: 0x0
Volatile: true
6 :4 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: 0x2
Volatile: true
3 :1 RW DST TR WIDTH
Destination Transfer Width. Mapped to AHB bus hsize.
For a non-memory peripheral, typically the peripheral (destination) FIFO width.
This value must be less than or equal to DMAH Mk HDATA WIDTH where k is the AHB
layer 1 to 4 where the destination resides. For the decoding of this field, see the ”Setting
Up Transfers” section in the HDMA Databook.
Values:
- 0x0 (DST TR WIDTH 0): Destination transfer width is 8 bits
- 0x1 (DST TR WIDTH 1): Destination transfer width is 16 bits
- 0x2 (DST TR WIDTH 2): Destination transfer width is 32 bits
- 0x3 (DST TR WIDTH 3): Destination transfer width is 64 bits
- 0x4 (DST TR WIDTH 4): Destination transfer width is 128 bits
- 0x5 (DST TR WIDTH 5): Destination transfer width is 256 bits
- 0x6 (DST TR WIDTH 6): Destination transfer width is 256 bits
- 0x7 (DST TR WIDTH 7): Destination transfer width is 256 bits
Value after reset: 0x2
Volatile: true
0 RW INT EN
Interrupt Enable Bit.
If set, then all interrupt-generating sources are enabled. Functions as a global mask bit for
all interrupts for the channel; raw* interrupt registers still assert if CTL2.INT EN=0.
Values:
- 0x0 (INTERRUPT DISABLE): Interrupt is disabled
- 0x1 (INTERRUPT ENABLE): Interrupt is enabled
Value after reset: 0x1
Volatile: true
31:0 RW SSTAT
Source status information retrieved by hardware from the address pointed to by the con-
tents of the STATAR5 register
Value after reset: 0x0
Volatile: true
31:0 RW DSTAT
Destination status information retrieved by hardware from the address pointed to by the
contents of DSTATAR5 register.
Value after reset: 0x0
Volatile: true
Offset: 1E8h SSTATAR5: Source Status Address Register for Channel 5 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:0 RW SSTATAR
Pointer from where hardware can fetch the source status information, which is registered
in the SSTAT5 register and written out to the SSTAT5 register location of the LLI before the
start of the next block.
Value after reset: 0x0
Volatile: true
Offset: 1F0h DSTATAR5: Source Status Address Register for Channel 5 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:0 RW DSTATAR
Pointer from where hardware can fetch the destination status information, which is reg-
istered in the DSTAT5 register and written out to the DSTAT4 register location of the LLI
before the start of the next block.
Value after reset: 0x0
Volatile: true
38 RW SS UPD EN
Source Status Update Enable.
Source status information is fetched only from the location pointed to by the SSTATAR5
register, stored in the SSTAT5 register and written out to the SSTAT5 location of the LLI, if
SS UPD EN is high.
Note: This enalbe is applicable only if DMAH CH5 STAT SRC is set to True. This field
does not exist if the configuration parameter DMAH CH5 STAT SRC is set to False; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Source Status Update is disabled.
- 0x1 (ENABLED): Source Status Update is enabled.
Value after reset: 0x0
Volatile: true
37 RW DS UPD EN
Destination Status Update Enable.
Destination status information is fetched only from the location pointed to by the DSTATAR0
register, stored in the DSTAT5 register and written out to the DSTAT5 location of the
LLI, if DS UPD EN is high. This field does not exist if the configuration parameter
DMAH CH1 SATAT DST is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Destination Status Update is disabled.
- 0x1 (ENABLED): Destination Status Update is enabled.
Value after reset: 0x0
Volatile: true
36:34 RW PROTCTL
Protection Control bits used to drive the AHB HPROT[3:1] bus. The AMBA Specification
recommends that the default of HPROT indicates a non-cached, non-buffered, privileged
data access. The reset value is used to indicate such an access.
HPROT[0] is tied high because all transfers are data accesses, as there are no opcode
fetches.
There is a one-to-one mapping of these register bits to the HPROT[3:1] master interface
signals.
Mapping of HPROT bus is as follows:
- 1’b1 to HPROT[0]
- CFG1.PROTCTL[1] to HPROT[1]
- CFG1.PROTCTL[2] to HPROT[2]
- CFG1.PROTCTL[3] to HPROT[3]
Value after reset: 0x1
Volatile: true
33 RW FIFO MODE
FIFO Mode Select.
Determines how much space or data needs to be available in the FIFO before a burst
transaction request is serviced.
Values:
- 0x0 (FIFO MODE 0): Space/data available for single AHB transfer of the specified trans-
fer width - 0x1 (FIFO MODE 1): Data available is greater than or equal to half the FIFO
depth for destination transfers and space available is greater than half the fifo depth for
source transfers. The exceptions are at the end of a burst transaction request or at the
end of a block transfer. Value after reset: 0x0
Volatile: true
32 RW FCMODE
Flow Control Mode.
Determines when source transaction requests are serviced when the Destination Periph-
eral is the flow controller.
Values:
- 0x0 (FCMODE 0): Source transaction requests are serviced when they occur. Data pre-
fetching is enabled
- 0x1 (FCMODE 1): Source transaction requests are not serviced until a destination trans-
action request occurs. In this mode, the amount of data transferred from the source is
limited so that it is guaranteed to be transferred to the destination prior to block termina-
tion by the destination. Data pre-fetching is disabled.
Value after reset: 0x0
Volatile: true
31 RW RELOAD DST
Automatic Destination Reload.
The DAR2 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This register does
not exist if the configuration parameter DMAH CH5 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Destination Reload Disabled.
- 0x1 (ENABLE): Destination Reload Enabled.
Value after reset: 0x0
Volatile: true
30 RW RELOAD SRC
Automatic Source Reload.
The SAR5 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This field does not
exist if the configuration parameter DMAH CH5 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Source Reload Disabled.
- 0x1 (ENABLE): Source Reload Enabled.
Value after reset: 0x0
Volatile: true
19 RW SRC HS POL
Source Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Source Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Source Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
18 RW DST HS POL
Destination Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Destination Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Destination Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
17 RW LOCK B
Bus Lock Bit.
When active, the AHB bus master signal hlock is asserted for the duration specified in
CFG0.LOCK B L. For more information, refer to ”Locked DMA Transfers”. This field does
not exist if the configuration parameter DMAH CH5 LOCK EN is set to False; in this case,
the read-back value is always 0.
Values:
- 0x0 (DISABLED): Bus lock bit is not enabled - 0x1 (ENABLED): Bus lock bit is enabled
Value after reset: 0x0
Volatile: true
16 RW LOCK CH
Channel Lock Bit.
When the channel is granted control of the master bus interface and if the CFG5.LOCK CH
bit is asserted, then no other channels are granted control of the master bus interface
for the duration specified in CFG5.LOCK CH L. Indicates to the master bus interface ar-
biter that this channel wants exclusive access to the master bus interface for the duration
specified in CFG3.LOCK CH L. This field does not exist if the configuration parameter
DMAH CH5 LOCK EN is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Channel lock bit is not enabled
- 0x1 (ENABLED): Channel lock bit is enabled
Value after reset: 0x0
Volatile: true
14:15 RW LOCK B L
Bus lock level.
Indicates the duration over which CFG5.LOCK B bit applies. This field does not exist if
the parameter DMAH CH5 LOCK EN is set to False; in this case, the read-back value is
always 0.
Values:
- 0x0 (LOCK B L 0): Over complete DMA transfer
- 0x1 (LOCK B L 1): Over complete DMA block transfer
- 0x2 (LOCK B L 2): Over complete DMA transaction
- 0x3 (LOCK B L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
13:12 RW LOCK CH L
Channel Local Level.
Indicates the duration over which CFG5.LOCK CH applies. This field does not exist if the
configuration parameter DMAH CH5 LOCK EN is set to False; in this case, the read-back
value is always 0.
Values:
- 0x0 (LOCK CH L 0): Over complete DMA transfer
- 0x1 (LOCK CH L 1): Over complete DMA block transfer
- 0x2 (LOCK CH L 2): Over complete DMA transaction
- 0x3 (LOCK CH L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
11 RW HS SEL SRC
Source Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for source requests on this channel. If the source peripheral is memory, then this bit is
ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored.
- 0x1 (SOFTWARE HS): Software handshaking interface. Hardware initiated transaction
requests are ignored.
Value after reset: 0x1
Volatile: true
10 RW HS SEL DST
Destination Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for destination requests on this channel. If the destination peripheral is memory, then this
bit is ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored. - 0x1 (SOFTWARE HS): Software handshaking interface. Hardware
initiated transaction requests are ignored. Value after reset: 0x1
Volatile: true
9 R FIFO EMPTY
Channel FIFO status.
Indicates if there is data left in the channel FIFO. Can be used in conjunction with
CFG5.CH SUSP to cleanly disable a channel. For more information, refer to ”Disabling
a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT EMPTY): Channel FIFO is not empty
- 0x1 (EMPTY): Channel FIFO is empty
Value after reset: 0x1
Volatile: true
8 R CH SUSP
Channel Suspend.
Suspends all DMA data transfers from the source until this bit is cleared. There is no
guarantee that the current transaction will complete. Can also be used in conjunction
with CFG5.FIFO EMPTY to cleanly disable a channel without losing any data. For more
information, refer to ”Disabling a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT SUSPENDED): DMA transfer from the source is not suspended
- 0x1 (SUSPENDED): Suspend DMA transfer from the source
Value after reset: 0x0
Volatile: true
7 :5 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: x
Volatile: true
4 :0 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW SGC
Source Gather Count.
Source contiguous tranfer count between successive gather boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW SGI
Source Gather Interval.
Value after reset: 0x0
Volatile: true
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW DSC
Destination Scatter Count.
Destination contiguous transfer count between successive scatter boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW DSI
Destination Scatter Interval.
Value after reset: 0x0
Volatile: true
31:0 RW SAR
Current Source Address of DMA transfer.
Updated after each source transfer. The SINC field in the CTL6 register determines
whether the address increments, decrements, or is left unchanged on every source trans-
fer through the block transfer.
Value after reset: 0x0
Volatile: true
31:0 RW DAR
Current Destination address of DMA transfer.
Updated after each destination transfer. The DINC field in the CTL6 register determines
whether the address increments, decrements, or is left unchanged on every destination
transfer throughout the block transfer.
Value after reset: 0x0
Volatile: true
Offset: 220h LLP6: Linked List Pointer Register for Channel 6 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:2 RW LOC
Starting Address In Memory of next LLI if block chaining is enabled. Note that the two LSBs
of the starting address are not stored because the address is assumed to be aligned to
a 32-bit boundary. LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit
boundaries and cannot be changed or programmed to anything other than 32-bit.
Value after reset: 0x0
Volatile: true
1 :0 RW LMS
List Master Select.
Identifies the AHB layer/interface where the memory device that stores the next linked
list item resides. This field does not exist if the configuration parameter is not set to
NO HARDCODE. In this case, the read-back value is always the hardcoded value. The
maximum value of this field that can be read back is DMAH NUM MASTER INT-1.
Values:
- 0x0 (LIST MASTER SELECT 1): The memory device stores the next linked list item on
AHB master 1
- 0x1 (LIST MASTER SELECT 2): The memory device stores the next linked list item on
AHB master 2
- 0x2 (LIST MASTER SELECT 3): The memory device stores the next linked list item on
AHB master 3
- 0x3 (LIST MASTER SELECT 4): The memory device stores the next linked list item on
AHB master 4
Value after reset: 0x0
Volatile: true
44 RW DONE
Done bit.
If status write-back is enabled, the upper word of the control register, CTL6[63:32], is writ-
ten to the control register location of the Linked List Item (LLI) in system memory at the
end of the block transfer with the done bit set.
Software can poll the LLI CTL6.DONE bit to see when a block transfer is complete. The
LLI CTL6.DONE bit should be cleared when the linked lists are set up in memory prior to
enabling the channel.
LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit boundaries and can-
not be changed or programmed to anything other than 32-bit. For more information, refer
to ”Multi-Block Transfers”.
Values:
- 0x0 (DISABLED): DONE bit is deasserted the enb of block transfer
- 0x1 (ENABLED): SET the DONE bit at the end of block transfer
Value after reset: 0x0
Volatile: true
43:37 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
36:32 RW BLOCK TS
Block Transfer Size.
When the HDMA is the flow controller, the user writes this field before the channel is
enabled in order to indicate the block size. The number programmed into BLOCK TS in-
dicates the total number of single transactions to perform for every block transfer; a single
transaction is mapped to a single AMBA beat
Width: The width of single transaction is determined by CTL6.SRC TR WIDTH. For fur-
ther information on setting this field, refer to ”Transfer Operation”.
Once the transfer starts, the read-back value is the total number of data items already read
from the source peripheral, regardless of what is the flow controller.
When the source or destination peripheral is assigned as the flow controller, then the max-
imum block size that can be read back saturates at DMAH CH6 MAX BLK SIZE, but the
actual block size can be greater.
Value after reset: 0x2
Volatile: true
31:29 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
28 RW LLP SRC EN
Block chaining is enabled on the source side only if the LLP SRC EN field is high and
LLP6.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”.
Values:
- 0x0 (LLP SRC DISABLE): Block chaining using Linked List is disabled on the Source
side
- 0x1 (LLP SRC ENABLE): Block chaining using Linked List is enabled on the Source side
Value after reset: 0x0
Volatile: true
27 RW LLP DST EN
Block chaining is enabled on the destination side only if LLP DST EN field is high and
LLP6.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”
Values:
- 0x0 (LLP DST DISABLE): Block chaining using Linked List is disabled on the Destination
side
- 0x1 (LLP DST ENABLE): Block chaining using Linked List is enabled on the Destination
side
Value after reset: 0x0
Volatile: true
26:25 RW SMS
Source Master Select.
Identifies the Master Interface layer where the source device (peripheral or mem-
ory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (SMS 0): Source device (peripheral or memory) is accessed from AHB master 1
- 0x1 (SMS 1): Source device (peripheral or memory) is accessed from AHB master 2
- 0x2 (SMS 2): Source device (peripheral or memory) is accessed from AHB master 3
- 0x3 (SMS 3): Source device (peripheral or memory) is accessed from AHB master 4
Value after reset: 0x0
Volatile: true
24:23 RW DMS
Destination Master Select.
Identifies the Master Interface layer where the destination device (peripheral or
memory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (DMS 0): Destination device (peripheral or memory) is accessed from AHB master
1
- 0x1 (DMS 1): Destination device (peripheral or memory) is accessed from AHB master
2
- 0x2 (DMS 2): Destination device (peripheral or memory) is accessed from AHB master
3
- 0x3 (DMS 3): Destination device (peripheral or memory) is accessed from AHB master
4
Value after reset: 0x0
Volatile: true
22:20 RW TT FC
Transfer Type and Flow Control.
Flow control can be assigned to the HDMA, the source peripheral, or the destination pe-
ripheral. For more information on transfer types and flow control, refer to ”Setup/Operation
of the HDMA Transfers”.
Dependencies: If the configuration parameter DMAH CH6 FC is set to DMA FC ONLY,
then TT FC[2] does not exist and TT FC[2] always reads back 0. If DMAH CH6 FC is
set to SRC FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1] always reads back
2’b10.
If DMAH CH6 FC is set to DST FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1]
always reads back 2’b11. For multi-block transfers using linked list operation, TT FC must
be constant for all blocks of this multi-block transfer.
Values:
- 0x0 (TT FC 0): Transfer type is Memory to Memory and Flow Controller is HDMA
- 0x1 (TT FC 1): Transfer type is Memory to Peripheral and Flow Controller is HDMA
- 0x2 (TT FC 2): Transfer type is Peripheral to Memory and Flow Controller is HDMA
- 0x3 (TT FC 3): Transfer type is Peripheral to Peripheral and Flow Controller is HDMA
- 0x4 (TT FC 4): Transfer type is Peripheral to Memory and Flow Controller is Peripheral
- 0x5 (TT FC 5): Transfer type is Peripheral to Peripheral and Flow Controller is Source
Peripheral
- 0x6 (TT FC 6): Transfer type is Memory to Peripheral and Flow Controller is Peripheral
- 0x7 (TT FC 7): Transfer type is Peripheral to Peripheral and Flow Controller is Destina-
tion Peripheral
Value after reset: 0x3
Volatile: true
19 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
18 RW DST SCATTER EN
Destination scatter enable.
Scatter on the destination side is applicable only when the CTL6.DINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (DST SCATTER DISABLE): Destination Scatter is disabled
- 0x1 (DST SCATTER ENABLE): Destination Scatter is enabled
Value after reset: 0x0
Volatile: true
17 RW SRC GATHER EN
Destination gather enable.
Gather on the destination side is applicable only when the CTL6.SINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (SRC SCATTER DISABLE): Source gather is disabled
- 0x1 (SRC SCATTER ENABLE): Source gather is enabled
Value after reset: 0x0
Volatile: true
10:9 RW SINC
Source Address Increment.
Indicates whether to increment or decrement the source address on every source transfer.
If the device is fetching data from a source peripheral FIFO with a fixed address, then set
this field to ”No change”.
Values:
- 0x0 (SINC 0): Increments the source address
- 0x1 (SINC 1): Decrements the source address
- 0x2 (SINC 2): No change in the source address
- 0x3 (SINC 3): No change in the source address
Value after reset: 0x0
Volatile: true
8 :7 RW DINC
Distination Address Increment.
Indicates whether to increment or decrement the destination address on every destination
transfer. If your device is writing data to a destination peripheral FIFO with a fixed address,
then set this field to ”No Change”.
Values:
- 0x0 (DINC 0): Increments the distination address
- 0x1 (DINC 1): Decrements the distination address
- 0x2 (DINC 2): No change in the distination address
- 0x3 (DINC 3): No change in the distination address
Value after reset: 0x0
Volatile: true
6 :4 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: 0x2
Volatile: true
3 :1 RW DST TR WIDTH
Destination Transfer Width. Mapped to AHB bus hsize.
For a non-memory peripheral, typically the peripheral (destination) FIFO width.
This value must be less than or equal to DMAH Mk HDATA WIDTH where k is the AHB
layer 1 to 4 where the destination resides. For the decoding of this field, see the ”Setting
Up Transfers” section in the HDMA Databook.
Values:
- 0x0 (DST TR WIDTH 0): Destination transfer width is 8 bits
- 0x1 (DST TR WIDTH 1): Destination transfer width is 16 bits
- 0x2 (DST TR WIDTH 2): Destination transfer width is 32 bits
- 0x3 (DST TR WIDTH 3): Destination transfer width is 64 bits
- 0x4 (DST TR WIDTH 4): Destination transfer width is 128 bits
- 0x5 (DST TR WIDTH 5): Destination transfer width is 256 bits
- 0x6 (DST TR WIDTH 6): Destination transfer width is 256 bits
- 0x7 (DST TR WIDTH 7): Destination transfer width is 256 bits
Value after reset: 0x2
Volatile: true
0 RW INT EN
Interrupt Enable Bit.
If set, then all interrupt-generating sources are enabled. Functions as a global mask bit for
all interrupts for the channel; raw* interrupt registers still assert if CTL2.INT EN=0.
Values:
- 0x0 (INTERRUPT DISABLE): Interrupt is disabled
- 0x1 (INTERRUPT ENABLE): Interrupt is enabled
Value after reset: 0x1
Volatile: true
31:0 RW SSTAT
Source status information retrieved by hardware from the address pointed to by the con-
tents of the STATAR6 register
Value after reset: 0x0
Volatile: true
31:0 RW DSTAT
Destination status information retrieved by hardware from the address pointed to by the
contents of DSTATAR6 register.
Value after reset: 0x0
Volatile: true
Offset: 240h SSTATAR6: Source Status Address Register for Channel 6 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:0 RW SSTATAR
Pointer from where hardware can fetch the source status information, which is registered
in the SSTAT6 register and written out to the SSTAT6 register location of the LLI before the
start of the next block.
Value after reset: 0x0
Volatile: true
Offset: 248h DSTATAR6: Source Status Address Register for Channel 6 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:0 RW DSTATAR
Pointer from where hardware can fetch the destination status information, which is reg-
istered in the DSTAT6 register and written out to the DSTAT4 register location of the LLI
before the start of the next block.
Value after reset: 0x0
Volatile: true
38 RW SS UPD EN
Source Status Update Enable.
Source status information is fetched only from the location pointed to by the SSTATAR6
register, stored in the SSTAT6 register and written out to the SSTAT6 location of the LLI, if
SS UPD EN is high.
Note: This enalbe is applicable only if DMAH CH6 STAT SRC is set to True. This field
does not exist if the configuration parameter DMAH CH6 STAT SRC is set to False; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Source Status Update is disabled.
- 0x1 (ENABLED): Source Status Update is enabled.
Value after reset: 0x0
Volatile: true
37 RW DS UPD EN
Destination Status Update Enable.
Destination status information is fetched only from the location pointed to by the DSTATAR0
register, stored in the DSTAT6 register and written out to the DSTAT6 location of the
LLI, if DS UPD EN is high. This field does not exist if the configuration parameter
DMAH CH1 SATAT DST is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Destination Status Update is disabled.
- 0x1 (ENABLED): Destination Status Update is enabled.
Value after reset: 0x0
Volatile: true
36:34 RW PROTCTL
Protection Control bits used to drive the AHB HPROT[3:1] bus. The AMBA Specification
recommends that the default of HPROT indicates a non-cached, non-buffered, privileged
data access. The reset value is used to indicate such an access.
HPROT[0] is tied high because all transfers are data accesses, as there are no opcode
fetches.
There is a one-to-one mapping of these register bits to the HPROT[3:1] master interface
signals.
Mapping of HPROT bus is as follows:
- 1’b1 to HPROT[0]
- CFG1.PROTCTL[1] to HPROT[1]
- CFG1.PROTCTL[2] to HPROT[2]
- CFG1.PROTCTL[3] to HPROT[3]
Value after reset: 0x1
Volatile: true
33 RW FIFO MODE
FIFO Mode Select.
Determines how much space or data needs to be available in the FIFO before a burst
transaction request is serviced.
Values:
- 0x0 (FIFO MODE 0): Space/data available for single AHB transfer of the specified trans-
fer width - 0x1 (FIFO MODE 1): Data available is greater than or equal to half the FIFO
depth for destination transfers and space available is greater than half the fifo depth for
source transfers. The exceptions are at the end of a burst transaction request or at the
end of a block transfer. Value after reset: 0x0
Volatile: true
32 RW FCMODE
Flow Control Mode.
Determines when source transaction requests are serviced when the Destination Periph-
eral is the flow controller.
Values:
- 0x0 (FCMODE 0): Source transaction requests are serviced when they occur. Data pre-
fetching is enabled
- 0x1 (FCMODE 1): Source transaction requests are not serviced until a destination trans-
action request occurs. In this mode, the amount of data transferred from the source is
limited so that it is guaranteed to be transferred to the destination prior to block termina-
tion by the destination. Data pre-fetching is disabled.
Value after reset: 0x0
Volatile: true
31 RW RELOAD DST
Automatic Destination Reload.
The DAR2 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This register does
not exist if the configuration parameter DMAH CH6 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Destination Reload Disabled.
- 0x1 (ENABLE): Destination Reload Enabled.
Value after reset: 0x0
Volatile: true
30 RW RELOAD SRC
Automatic Source Reload.
The SAR6 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This field does not
exist if the configuration parameter DMAH CH6 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Source Reload Disabled.
- 0x1 (ENABLE): Source Reload Enabled.
Value after reset: 0x0
Volatile: true
19 RW SRC HS POL
Source Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Source Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Source Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
18 RW DST HS POL
Destination Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Destination Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Destination Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
17 RW LOCK B
Bus Lock Bit.
When active, the AHB bus master signal hlock is asserted for the duration specified in
CFG0.LOCK B L. For more information, refer to ”Locked DMA Transfers”. This field does
not exist if the configuration parameter DMAH CH6 LOCK EN is set to False; in this case,
the read-back value is always 0.
Values:
- 0x0 (DISABLED): Bus lock bit is not enabled - 0x1 (ENABLED): Bus lock bit is enabled
Value after reset: 0x0
Volatile: true
16 RW LOCK CH
Channel Lock Bit.
When the channel is granted control of the master bus interface and if the CFG6.LOCK CH
bit is asserted, then no other channels are granted control of the master bus interface
for the duration specified in CFG6.LOCK CH L. Indicates to the master bus interface ar-
biter that this channel wants exclusive access to the master bus interface for the duration
specified in CFG3.LOCK CH L. This field does not exist if the configuration parameter
DMAH CH6 LOCK EN is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Channel lock bit is not enabled
- 0x1 (ENABLED): Channel lock bit is enabled
Value after reset: 0x0
Volatile: true
14:15 RW LOCK B L
Bus lock level.
Indicates the duration over which CFG6.LOCK B bit applies. This field does not exist if
the parameter DMAH CH6 LOCK EN is set to False; in this case, the read-back value is
always 0.
Values:
- 0x0 (LOCK B L 0): Over complete DMA transfer
- 0x1 (LOCK B L 1): Over complete DMA block transfer
- 0x2 (LOCK B L 2): Over complete DMA transaction
- 0x3 (LOCK B L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
13:12 RW LOCK CH L
Channel Local Level.
Indicates the duration over which CFG6.LOCK CH applies. This field does not exist if the
configuration parameter DMAH CH6 LOCK EN is set to False; in this case, the read-back
value is always 0.
Values:
- 0x0 (LOCK CH L 0): Over complete DMA transfer
- 0x1 (LOCK CH L 1): Over complete DMA block transfer
- 0x2 (LOCK CH L 2): Over complete DMA transaction
- 0x3 (LOCK CH L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
11 RW HS SEL SRC
Source Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for source requests on this channel. If the source peripheral is memory, then this bit is
ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored.
- 0x1 (SOFTWARE HS): Software handshaking interface. Hardware initiated transaction
requests are ignored.
Value after reset: 0x1
Volatile: true
10 RW HS SEL DST
Destination Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for destination requests on this channel. If the destination peripheral is memory, then this
bit is ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored. - 0x1 (SOFTWARE HS): Software handshaking interface. Hardware
initiated transaction requests are ignored. Value after reset: 0x1
Volatile: true
9 R FIFO EMPTY
Channel FIFO status.
Indicates if there is data left in the channel FIFO. Can be used in conjunction with
CFG6.CH SUSP to cleanly disable a channel. For more information, refer to ”Disabling
a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT EMPTY): Channel FIFO is not empty
- 0x1 (EMPTY): Channel FIFO is empty
Value after reset: 0x1
Volatile: true
8 R CH SUSP
Channel Suspend.
Suspends all DMA data transfers from the source until this bit is cleared. There is no
guarantee that the current transaction will complete. Can also be used in conjunction
with CFG6.FIFO EMPTY to cleanly disable a channel without losing any data. For more
information, refer to ”Disabling a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT SUSPENDED): DMA transfer from the source is not suspended
- 0x1 (SUSPENDED): Suspend DMA transfer from the source
Value after reset: 0x0
Volatile: true
7 :5 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: x
Volatile: true
4 :0 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW SGC
Source Gather Count.
Source contiguous tranfer count between successive gather boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW SGI
Source Gather Interval.
Value after reset: 0x0
Volatile: true
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW DSC
Destination Scatter Count.
Destination contiguous transfer count between successive scatter boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW DSI
Destination Scatter Interval.
Value after reset: 0x0
Volatile: true
31:0 RW SAR
Current Source Address of DMA transfer.
Updated after each source transfer. The SINC field in the CTL7 register determines
whether the address increments, decrements, or is left unchanged on every source trans-
fer through the block transfer.
Value after reset: 0x0
Volatile: true
31:0 RW DAR
Current Destination address of DMA transfer.
Updated after each destination transfer. The DINC field in the CTL7 register determines
whether the address increments, decrements, or is left unchanged on every destination
transfer throughout the block transfer.
Value after reset: 0x0
Volatile: true
Offset: 278h LLP7: Linked List Pointer Register for Channel 7 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:2 RW LOC
Starting Address In Memory of next LLI if block chaining is enabled. Note that the two LSBs
of the starting address are not stored because the address is assumed to be aligned to
a 32-bit boundary. LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit
boundaries and cannot be changed or programmed to anything other than 32-bit.
Value after reset: 0x0
Volatile: true
1 :0 RW LMS
List Master Select.
Identifies the AHB layer/interface where the memory device that stores the next linked
list item resides. This field does not exist if the configuration parameter is not set to
NO HARDCODE. In this case, the read-back value is always the hardcoded value. The
maximum value of this field that can be read back is DMAH NUM MASTER INT-1.
Values:
- 0x0 (LIST MASTER SELECT 1): The memory device stores the next linked list item on
AHB master 1
- 0x1 (LIST MASTER SELECT 2): The memory device stores the next linked list item on
AHB master 2
- 0x2 (LIST MASTER SELECT 3): The memory device stores the next linked list item on
AHB master 3
- 0x3 (LIST MASTER SELECT 4): The memory device stores the next linked list item on
AHB master 4
Value after reset: 0x0
Volatile: true
44 RW DONE
Done bit.
If status write-back is enabled, the upper word of the control register, CTL7[63:32], is writ-
ten to the control register location of the Linked List Item (LLI) in system memory at the
end of the block transfer with the done bit set.
Software can poll the LLI CTL7.DONE bit to see when a block transfer is complete. The
LLI CTL7.DONE bit should be cleared when the linked lists are set up in memory prior to
enabling the channel.
LLI accesses are always 32-bit accesses (Hsize=2) aligned to 32-bit boundaries and can-
not be changed or programmed to anything other than 32-bit. For more information, refer
to ”Multi-Block Transfers”.
Values:
- 0x0 (DISABLED): DONE bit is deasserted the enb of block transfer
- 0x1 (ENABLED): SET the DONE bit at the end of block transfer
Value after reset: 0x0
Volatile: true
43:37 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
36:32 RW BLOCK TS
Block Transfer Size.
When the HDMA is the flow controller, the user writes this field before the channel is
enabled in order to indicate the block size. The number programmed into BLOCK TS in-
dicates the total number of single transactions to perform for every block transfer; a single
transaction is mapped to a single AMBA beat
Width: The width of single transaction is determined by CTL7.SRC TR WIDTH. For fur-
ther information on setting this field, refer to ”Transfer Operation”.
Once the transfer starts, the read-back value is the total number of data items already read
from the source peripheral, regardless of what is the flow controller.
When the source or destination peripheral is assigned as the flow controller, then the max-
imum block size that can be read back saturates at DMAH CH7 MAX BLK SIZE, but the
actual block size can be greater.
Value after reset: 0x2
Volatile: true
31:29 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
28 RW LLP SRC EN
Block chaining is enabled on the source side only if the LLP SRC EN field is high and
LLP7.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”.
Values:
- 0x0 (LLP SRC DISABLE): Block chaining using Linked List is disabled on the Source
side
- 0x1 (LLP SRC ENABLE): Block chaining using Linked List is enabled on the Source side
Value after reset: 0x0
Volatile: true
27 RW LLP DST EN
Block chaining is enabled on the destination side only if LLP DST EN field is high and
LLP7.LOC is non-zero. For more information, see ”Block Chaining using Linked Lists”
Values:
- 0x0 (LLP DST DISABLE): Block chaining using Linked List is disabled on the Destination
side
- 0x1 (LLP DST ENABLE): Block chaining using Linked List is enabled on the Destination
side
Value after reset: 0x0
Volatile: true
26:25 RW SMS
Source Master Select.
Identifies the Master Interface layer where the source device (peripheral or mem-
ory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (SMS 0): Source device (peripheral or memory) is accessed from AHB master 1
- 0x1 (SMS 1): Source device (peripheral or memory) is accessed from AHB master 2
- 0x2 (SMS 2): Source device (peripheral or memory) is accessed from AHB master 3
- 0x3 (SMS 3): Source device (peripheral or memory) is accessed from AHB master 4
Value after reset: 0x0
Volatile: true
24:23 RW DMS
Destination Master Select.
Identifies the Master Interface layer where the destination device (peripheral or
memory) resides. The maximum value of this field that can be read back is
DMAH NUM MASTER INT-1.
Values:
- 0x0 (DMS 0): Destination device (peripheral or memory) is accessed from AHB master
1
- 0x1 (DMS 1): Destination device (peripheral or memory) is accessed from AHB master
2
- 0x2 (DMS 2): Destination device (peripheral or memory) is accessed from AHB master
3
- 0x3 (DMS 3): Destination device (peripheral or memory) is accessed from AHB master
4
Value after reset: 0x0
Volatile: true
22:20 RW TT FC
Transfer Type and Flow Control.
Flow control can be assigned to the HDMA, the source peripheral, or the destination pe-
ripheral. For more information on transfer types and flow control, refer to ”Setup/Operation
of the HDMA Transfers”.
Dependencies: If the configuration parameter DMAH CH7 FC is set to DMA FC ONLY,
then TT FC[2] does not exist and TT FC[2] always reads back 0. If DMAH CH7 FC is
set to SRC FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1] always reads back
2’b10.
If DMAH CH7 FC is set to DST FC ONLY, then TT FC[2:1] does not exist and TT FC[2:1]
always reads back 2’b11. For multi-block transfers using linked list operation, TT FC must
be constant for all blocks of this multi-block transfer.
Values:
- 0x0 (TT FC 0): Transfer type is Memory to Memory and Flow Controller is HDMA
- 0x1 (TT FC 1): Transfer type is Memory to Peripheral and Flow Controller is HDMA
- 0x2 (TT FC 2): Transfer type is Peripheral to Memory and Flow Controller is HDMA
- 0x3 (TT FC 3): Transfer type is Peripheral to Peripheral and Flow Controller is HDMA
- 0x4 (TT FC 4): Transfer type is Peripheral to Memory and Flow Controller is Peripheral
- 0x5 (TT FC 5): Transfer type is Peripheral to Peripheral and Flow Controller is Source
Peripheral
- 0x6 (TT FC 6): Transfer type is Memory to Peripheral and Flow Controller is Peripheral
- 0x7 (TT FC 7): Transfer type is Peripheral to Peripheral and Flow Controller is Destina-
tion Peripheral
Value after reset: 0x3
Volatile: true
19 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
18 RW DST SCATTER EN
Destination scatter enable.
Scatter on the destination side is applicable only when the CTL7.DINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (DST SCATTER DISABLE): Destination Scatter is disabled
- 0x1 (DST SCATTER ENABLE): Destination Scatter is enabled
Value after reset: 0x0
Volatile: true
17 RW SRC GATHER EN
Destination gather enable.
Gather on the destination side is applicable only when the CTL7.SINC bit indicates an
incrementing or decrementing address control.
Values:
- 0x0 (SRC SCATTER DISABLE): Source gather is disabled
- 0x1 (SRC SCATTER ENABLE): Source gather is enabled
Value after reset: 0x0
Volatile: true
10:9 RW SINC
Source Address Increment.
Indicates whether to increment or decrement the source address on every source transfer.
If the device is fetching data from a source peripheral FIFO with a fixed address, then set
this field to ”No change”.
Values:
- 0x0 (SINC 0): Increments the source address
- 0x1 (SINC 1): Decrements the source address
- 0x2 (SINC 2): No change in the source address
- 0x3 (SINC 3): No change in the source address
Value after reset: 0x0
Volatile: true
8 :7 RW DINC
Distination Address Increment.
Indicates whether to increment or decrement the destination address on every destination
transfer. If your device is writing data to a destination peripheral FIFO with a fixed address,
then set this field to ”No Change”.
Values:
- 0x0 (DINC 0): Increments the distination address
- 0x1 (DINC 1): Decrements the distination address
- 0x2 (DINC 2): No change in the distination address
- 0x3 (DINC 3): No change in the distination address
Value after reset: 0x0
Volatile: true
6 :4 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: 0x2
Volatile: true
3 :1 RW DST TR WIDTH
Destination Transfer Width. Mapped to AHB bus hsize.
For a non-memory peripheral, typically the peripheral (destination) FIFO width.
This value must be less than or equal to DMAH Mk HDATA WIDTH where k is the AHB
layer 1 to 4 where the destination resides. For the decoding of this field, see the ”Setting
Up Transfers” section in the HDMA Databook.
Values:
- 0x0 (DST TR WIDTH 0): Destination transfer width is 8 bits
- 0x1 (DST TR WIDTH 1): Destination transfer width is 16 bits
- 0x2 (DST TR WIDTH 2): Destination transfer width is 32 bits
- 0x3 (DST TR WIDTH 3): Destination transfer width is 64 bits
- 0x4 (DST TR WIDTH 4): Destination transfer width is 128 bits
- 0x5 (DST TR WIDTH 5): Destination transfer width is 256 bits
- 0x6 (DST TR WIDTH 6): Destination transfer width is 256 bits
- 0x7 (DST TR WIDTH 7): Destination transfer width is 256 bits
Value after reset: 0x2
Volatile: true
0 RW INT EN
Interrupt Enable Bit.
If set, then all interrupt-generating sources are enabled. Functions as a global mask bit for
all interrupts for the channel; raw* interrupt registers still assert if CTL2.INT EN=0.
Values:
- 0x0 (INTERRUPT DISABLE): Interrupt is disabled
- 0x1 (INTERRUPT ENABLE): Interrupt is enabled
Value after reset: 0x1
Volatile: true
31:0 RW SSTAT
Source status information retrieved by hardware from the address pointed to by the con-
tents of the STATAR7 register
Value after reset: 0x0
Volatile: true
31:0 RW DSTAT
Destination status information retrieved by hardware from the address pointed to by the
contents of DSTATAR7 register.
Value after reset: 0x0
Volatile: true
Offset: 298h SSTATAR7: Source Status Address Register for Channel 7 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
31:0 RW SSTATAR
Pointer from where hardware can fetch the source status information, which is registered
in the SSTAT7 register and written out to the SSTAT7 register location of the LLI before the
start of the next block.
Value after reset: 0x0
Volatile: true
Offset: 2A0h DSTATAR7: Source Status Address Register for Channel 7 Init = 0
63:32 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:0 RW DSTATAR
Pointer from where hardware can fetch the destination status information, which is reg-
istered in the DSTAT7 register and written out to the DSTAT4 register location of the LLI
before the start of the next block.
Value after reset: 0x0
Volatile: true
38 RW SS UPD EN
Source Status Update Enable.
Source status information is fetched only from the location pointed to by the SSTATAR7
register, stored in the SSTAT7 register and written out to the SSTAT7 location of the LLI, if
SS UPD EN is high.
Note: This enalbe is applicable only if DMAH CH7 STAT SRC is set to True. This field
does not exist if the configuration parameter DMAH CH7 STAT SRC is set to False; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Source Status Update is disabled.
- 0x1 (ENABLED): Source Status Update is enabled.
Value after reset: 0x0
Volatile: true
37 RW DS UPD EN
Destination Status Update Enable.
Destination status information is fetched only from the location pointed to by the DSTATAR0
register, stored in the DSTAT7 register and written out to the DSTAT6 location of the
LLI, if DS UPD EN is high. This field does not exist if the configuration parameter
DMAH CH1 SATAT DST is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Destination Status Update is disabled.
- 0x1 (ENABLED): Destination Status Update is enabled.
Value after reset: 0x0
Volatile: true
36:34 RW PROTCTL
Protection Control bits used to drive the AHB HPROT[3:1] bus. The AMBA Specification
recommends that the default of HPROT indicates a non-cached, non-buffered, privileged
data access. The reset value is used to indicate such an access.
HPROT[0] is tied high because all transfers are data accesses, as there are no opcode
fetches.
There is a one-to-one mapping of these register bits to the HPROT[3:1] master interface
signals.
Mapping of HPROT bus is as follows:
- 1’b1 to HPROT[0]
- CFG1.PROTCTL[1] to HPROT[1]
- CFG1.PROTCTL[2] to HPROT[2]
- CFG1.PROTCTL[3] to HPROT[3]
Value after reset: 0x1
Volatile: true
33 RW FIFO MODE
FIFO Mode Select.
Determines how much space or data needs to be available in the FIFO before a burst
transaction request is serviced.
Values:
- 0x0 (FIFO MODE 0): Space/data available for single AHB transfer of the specified trans-
fer width - 0x1 (FIFO MODE 1): Data available is greater than or equal to half the FIFO
depth for destination transfers and space available is greater than half the fifo depth for
source transfers. The exceptions are at the end of a burst transaction request or at the
end of a block transfer. Value after reset: 0x0
Volatile: true
32 RW FCMODE
Flow Control Mode.
Determines when source transaction requests are serviced when the Destination Periph-
eral is the flow controller.
Values:
- 0x0 (FCMODE 0): Source transaction requests are serviced when they occur. Data pre-
fetching is enabled
- 0x1 (FCMODE 1): Source transaction requests are not serviced until a destination trans-
action request occurs. In this mode, the amount of data transferred from the source is
limited so that it is guaranteed to be transferred to the destination prior to block termina-
tion by the destination. Data pre-fetching is disabled.
Value after reset: 0x0
Volatile: true
31 RW RELOAD DST
Automatic Destination Reload.
The DAR2 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This register does
not exist if the configuration parameter DMAH CH7 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Destination Reload Disabled.
- 0x1 (ENABLE): Destination Reload Enabled.
Value after reset: 0x0
Volatile: true
30 RW RELOAD SRC
Automatic Source Reload.
The SAR7 register can be automatically reloaded from its initial value at the end of every
block for multi-block transfers. A new block transfer is then initiated. This field does not
exist if the configuration parameter DMAH CH7 MULTI BLK EN is not selected; in this
case, the read-back value is always 0.
Values:
- 0x0 (DISABLE): Source Reload Disabled.
- 0x1 (ENABLE): Source Reload Enabled.
Value after reset: 0x0
Volatile: true
19 RW SRC HS POL
Source Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Source Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Source Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
18 RW DST HS POL
Destination Handshaking Interface Polarity.
Values:
- 0x0 (ACTIVE HIGH): Destination Handshaking Interface Polarity is Active high
- 0x1 (ACTIVE LOW): Destination Handshaking Interface Polarity is Active low
Value after reset: 0x0
Volatile: true
17 RW LOCK B
Bus Lock Bit.
When active, the AHB bus master signal hlock is asserted for the duration specified in
CFG0.LOCK B L. For more information, refer to ”Locked DMA Transfers”. This field does
not exist if the configuration parameter DMAH CH7 LOCK EN is set to False; in this case,
the read-back value is always 0.
Values:
- 0x0 (DISABLED): Bus lock bit is not enabled - 0x1 (ENABLED): Bus lock bit is enabled
Value after reset: 0x0
Volatile: true
16 RW LOCK CH
Channel Lock Bit.
When the channel is granted control of the master bus interface and if the CFG7.LOCK CH
bit is asserted, then no other channels are granted control of the master bus interface
for the duration specified in CFG7.LOCK CH L. Indicates to the master bus interface ar-
biter that this channel wants exclusive access to the master bus interface for the duration
specified in CFG3.LOCK CH L. This field does not exist if the configuration parameter
DMAH CH7 LOCK EN is set to False; in this case, the read-back value is always 0.
Values:
- 0x0 (DISABLED): Channel lock bit is not enabled
- 0x1 (ENABLED): Channel lock bit is enabled
Value after reset: 0x0
Volatile: true
14:15 RW LOCK B L
Bus lock level.
Indicates the duration over which CFG7.LOCK B bit applies. This field does not exist if
the parameter DMAH CH7 LOCK EN is set to False; in this case, the read-back value is
always 0.
Values:
- 0x0 (LOCK B L 0): Over complete DMA transfer
- 0x1 (LOCK B L 1): Over complete DMA block transfer
- 0x2 (LOCK B L 2): Over complete DMA transaction
- 0x3 (LOCK B L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
13:12 RW LOCK CH L
Channel Local Level.
Indicates the duration over which CFG7.LOCK CH applies. This field does not exist if the
configuration parameter DMAH CH7 LOCK EN is set to False; in this case, the read-back
value is always 0.
Values:
- 0x0 (LOCK CH L 0): Over complete DMA transfer
- 0x1 (LOCK CH L 1): Over complete DMA block transfer
- 0x2 (LOCK CH L 2): Over complete DMA transaction
- 0x3 (LOCK CH L 3): Over complete DMA transaction
Value after reset: 0x0
Volatile: true
11 RW HS SEL SRC
Source Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for source requests on this channel. If the source peripheral is memory, then this bit is
ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored.
- 0x1 (SOFTWARE HS): Software handshaking interface. Hardware initiated transaction
requests are ignored.
Value after reset: 0x1
Volatile: true
10 RW HS SEL DST
Destination Software or Hardware Handshaking Select.
This register selects which of the handshaking interfaces - hardware or software - is active
for destination requests on this channel. If the destination peripheral is memory, then this
bit is ignored.
Values:
- 0x0 (HARDWARE HS): Hardware handshaking interface. Software initiated transaction
requests are ignored. - 0x1 (SOFTWARE HS): Software handshaking interface. Hardware
initiated transaction requests are ignored. Value after reset: 0x1
Volatile: true
9 R FIFO EMPTY
Channel FIFO status.
Indicates if there is data left in the channel FIFO. Can be used in conjunction with
CFG7.CH SUSP to cleanly disable a channel. For more information, refer to ”Disabling
a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT EMPTY): Channel FIFO is not empty
- 0x1 (EMPTY): Channel FIFO is empty
Value after reset: 0x1
Volatile: true
8 R CH SUSP
Channel Suspend.
Suspends all DMA data transfers from the source until this bit is cleared. There is no
guarantee that the current transaction will complete. Can also be used in conjunction
with CFG7.FIFO EMPTY to cleanly disable a channel without losing any data. For more
information, refer to ”Disabling a Channel Prior to Transfer Completion”.
Values:
- 0x0 (NOT SUSPENDED): DMA transfer from the source is not suspended
- 0x1 (SUSPENDED): Suspend DMA transfer from the source
Value after reset: 0x0
Volatile: true
7 :5 RW SRC TR WIDTH
Source Transfer Width.
Mapped to AHB bus hsize. For a non-memory peripheral, typically the peripheral (source)
FIFO width.
This value must be less than or equl to DMAH Mk HDATA WIDTH, where k is the AHB
layer 1 to 4 where the source resides.
Values:
- 0x0 (SRC TR WIDTH 0): Source transfer width is 8 bits
- 0x1 (SRC TR WIDTH 1): Source transfer width is 16 bits
- 0x2 (SRC TR WIDTH 2): Source transfer width is 32 bits
- 0x3 (SRC TR WIDTH 3): Source transfer width is 64 bits
- 0x4 (SRC TR WIDTH 4): Source transfer width is 128 bits
- 0x5 (SRC TR WIDTH 5): Source transfer width is 256 bits
- 0x6 (SRC TR WIDTH 6): Source transfer width is 256 bits
- 0x7 (SRC TR WIDTH 7): Source transfer width is 256 bits
Value after reset: x
Volatile: true
4 :0 R RSVD
Reserved field - read-only
Value after reset: 0x0
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW SGC
Source Gather Count.
Source contiguous tranfer count between successive gather boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW SGI
Source Gather Interval.
Value after reset: 0x0
Volatile: true
31:25 R RSVD
Reserved field - read-only
Value after reset: 0x0
24:19 RW DSC
Destination Scatter Count.
Destination contiguous transfer count between successive scatter boundaries.
Value after reset: 0x0
Volatile: true
19:0 RW DSI
Destination Scatter Interval.
Value after reset: 0x0
Volatile: true
7 :0 RW RAW
Raw Status for IntTfr Interrupt.
Values:
- 0x0 (INACTIVE): Inactive Raw Interrupt Status
- 0x1 (ACTIVE): Active Raw Interrupt Status
Value after reset: 0x0
Volatile: true
7 :0 RW RAW
Raw Status for IntBlock Interrupt.
Values:
- 0x0 (INACTIVE): Inactive Raw Interrupt Status
- 0x1 (ACTIVE): Active Raw Interrupt Status
Value after reset: 0x0
Volatile: true
7 :0 RW RAW
Raw Status for IntSrcTran Interrupt.
Values:
- 0x0 (INACTIVE): Inactive Raw Interrupt Status
- 0x1 (ACTIVE): Active Raw Interrupt Status
Value after reset: 0x0
Volatile: true
7 :0 RW RAW
Raw Status for IntDstTran Interrupt.
Values:
- 0x0 (INACTIVE): Inactive Raw Interrupt Status
- 0x1 (ACTIVE): Active Raw Interrupt Status
Value after reset: 0x0
Volatile: true
7 :0 RW RAW
Raw Status for IntErr Interrupt.
Values:
- 0x0 (INACTIVE): Inactive Raw Interrupt Status
- 0x1 (ACTIVE): Active Raw Interrupt Status
Value after reset: 0x0
Volatile: true
7 :0 RW STATUS
Status for IntTfr Interrupt.
Values:
- 0x0 (INACTIVE): Inactive Interrupt Status
- 0x1 (ACTIVE): Active Interrupt Status
Value after reset: 0x0
Volatile: true
7 :0 RW STATUS
Status for IntBlock Interrupt.
Values:
- 0x0 (INACTIVE): Inactive Interrupt Status
- 0x1 (ACTIVE): Active Interrupt Status
Value after reset: 0x0
Volatile: true
7 :0 RW STATUS
Status for IntSrcTran Interrupt.
Values:
- 0x0 (INACTIVE): Inactive Interrupt Status
- 0x1 (ACTIVE): Active Interrupt Status
Value after reset: 0x0
Volatile: true
7 :0 RW STATUS
Status for IntDstTran Interrupt.
Values:
- 0x0 (INACTIVE): Inactive Interrupt Status
- 0x1 (ACTIVE): Active Interrupt Status
Value after reset: 0x0
Volatile: true
7 :0 RW STATUS
Status for IntErr Interrupt.
Values:
- 0x0 (INACTIVE): Inactive Interrupt Status
- 0x1 (ACTIVE): Active Interrupt Status
Value after reset: 0x0
Volatile: true
7 :0 RW INT MASK
Mask for IntTfr Interrupt.
Values:
- 0x0 (MASK): Mask the interrupts
- 0x1 (UNMASK): Unmask the interrupts
Value after reset: 0x0
Volatile: true
7 :0 RW INT MASK
Mask for IntBlock Interrupt.
Values:
- 0x0 (MASK): Mask the interrupts
- 0x1 (UNMASK): Unmask the interrupts
Value after reset: 0x0
Volatile: true
7 :0 RW INT MASK
Mask for IntSrcTran Interrupt.
Values:
- 0x0 (MASK): Mask the interrupts
- 0x1 (UNMASK): Unmask the interrupts
Value after reset: 0x0
Volatile: true
7 :0 RW INT MASK
Mask for IntDstTran Interrupt.
Values:
- 0x0 (MASK): Mask the interrupts
- 0x1 (UNMASK): Unmask the interrupts
Value after reset: 0x0
Volatile: true
7 :0 RW INT MASK
Mask for IntErr Interrupt.
Values:
- 0x0 (MASK): Mask the interrupts
- 0x1 (UNMASK): Unmask the interrupts
Value after reset: 0x0
Volatile: true
7 :0 RW CLEAR
Clear for IntTfr Interrupt.
Values:
- 0x0 (NOT CLEAR): No effect
- 0x1 (CLEAR): Clears interrupts
Value after reset: 0x0
Volatile: true
7 :0 RW CLEAR
Clear for IntBlock Interrupt.
Values:
- 0x0 (NOT CLEAR): No effect
- 0x1 (CLEAR): Clears interrupts
Value after reset: 0x0
Volatile: true
7 :0 RW CLEAR
Clear for IntSrcTran Interrupt.
Values:
- 0x0 (NOT CLEAR): No effect
- 0x1 (CLEAR): Clears interrupts
Value after reset: 0x0
Volatile: true
7 :0 RW CLEAR
Clear for IntDstTran Interrupt.
Values:
- 0x0 (NOT CLEAR): No effect
- 0x1 (CLEAR): Clears interrupts
Value after reset: 0x0
Volatile: true
7 :0 RW CLEAR
Clear for IntErr Interrupt.
Values:
- 0x0 (NOT CLEAR): No effect
- 0x1 (CLEAR): Clears interrupts
Value after reset: 0x0
Volatile: true
4 R ERR
OR of the contents of StatusErr.
Values:
- 0x0 (INACTIVE): OR of the contents of StatusErr register is 0
- 0x1 (ACTIVE): OR of the contents of StatusErr register is 1
Value after reset: 0x0
Volatile: true
3 R DSTT
OR of the contents of StatusDstTran.
Values:
- 0x0 (INACTIVE): OR of the contents of StatusDstTran register is 0
- 0x1 (ACTIVE): OR of the contents of StatusDstTran register is 1
Value after reset: 0x0
Volatile: true
2 R SRCT
OR of the contents of StatusSrcTran.
Values:
- 0x0 (INACTIVE): OR of the contents of StatusSrcTran register is 0
- 0x1 (ACTIVE): OR of the contents of StatusSrcTran register is 1
Value after reset: 0x0
Volatile: true
1 R BLOCK
OR of the contents of StatusBlock register.
Values:
- 0x0 (INACTIVE): OR of the contents of StatusBlock register is 0
- 0x1 (ACTIVE): OR of the contents of StatusBlock register is 1
Value after reset: 0x0
Volatile: true
0 R TFR
OR of the contents of StatusTfr register.
Values:
- 0x0 (INACTIVE): OR of the contents of StatusTfr register is 0
- 0x1 (ACTIVE): OR of the contents of StatusTfr register is 1
Value after reset: 0x0
Volatile: true
7 :0 W SRC REQ
Source Software Transaction Request.
Values:
- 0x0 (DISABLED): Source request write is not active
- 0x1 (ENABLED): Source request write is active
Value after reset: 0x0
Volatile: true
7 :0 W DST REQ
Destination Software Transaction Request.
Values:
- 0x0 (DISABLED): Destination request write is not active
- 0x1 (ENABLED): Destination request write is active
Value after reset: 0x0
Volatile: true
7 :0 W SRC SGLREQ
Source Single Transaction Request.
Values:
- 0x0 (DISABLED): Source request is not active
- 0x1 (ENABLED): Source request is active
Value after reset: 0x0
Volatile: true
7 :0 W DST SGLREQ
Destination Single Transaction Request.
Values:
- 0x0 (DISABLED): Destination request is not active
- 0x1 (ENABLED): Destination request is active
Value after reset: 0x0
Volatile: true
15:8 W LSTSRC WE
Source Last Transaction Request write enable.
Values:
- 0x0 (DISABLED): Source last transaction request write Disable
- 0x1 (ENABLED): Source last transaction request write Enable
Value after reset: 0x0
Volatile: true
7 :0 W LSTSRC
Source Last Transaction Request register.
Values:
- 0x0 (NOT LAST): Not last transaction in current block
- 0x1 (LAST): Last transaction in current block
Value after reset: 0x0
Volatile: true
15:8 W LSTDST WE
Destination Last Transaction Request write enable.
Values:
- 0x0 (DISABLED): Destination last transaction request write Disable
- 0x1 (ENABLED): Destination last transaction request write Enable
Value after reset: 0x0
Volatile: true
7 :0 W LSTDST
Destination Last Transaction Request register.
Values:
- 0x0 (NOT LAST): Not last transaction in current block
- 0x1 (LAST): Last transaction in current block
Value after reset: 0x0
Volatile: true
0 RW DMA EN
HDMA Enable bit.
Values:
- 0x0 (DISABLED): HDMA Disabled
- 0x1 (ENABLED): HDMA Enabled
Value after reset: 0x0
Volatile: true
15:8 W CH EN WE
Channel enable register.
Value after reset: 0x0
Volatile: true
7 :0 RW CH EN
Channel Enable.
The ChEnReg.CH EN bit is automatically cleared by hardware to disable the channel after
the last AMBA transfer of the DMA transfer to the destination has completed. Software can
therefore poll this bit to determine when this channel is free for a new DMA transfer.
Values:
- 0x0 (DISABLED): Disable the channel
- 0x1 (ENABLED): Enable the channel
Value after reset: 0x0
Volatile: true
31:0 R DMA ID
Hardcoded HDMA peripheral ID.
Value after reset: 0x0
Volatile: true
0 RW TEST SLV IF
DMA Test register.
Values:
- 0x0 (NORMAL MODE): Puts the AHB slave interface into Normal mode
- 0x1 (TEST MODE): Puts the AHB slave interface into Test mode. In this mode, the
readback value of the writable registers always matches the values written
Value after reset: 0x0
Volatile: true
3 :0 RW TEST SLV IF
This field holds timeout value of low power counter register.
Value after reset: 0x8
Offset: 3C8h DMA COMP PARAMS 6: HDMA Component Parameters Register 6 Init = 0
63 R RSVD
Reserved field - read-only
Value after reset: 0x0
47:46 R CH7 FC
Values:
- 0x0 (F DMA): Flow controller is DMA for channel 7
- 0x1 (F SRC): Flow controller is Source for channel 7
- 0x2 (F DST): Flow controller is Destination for channel 7
- 0x3 (F ANY): Flow controller is ANY for channel 7
Value after reset: 0x0
45 R CH7 HC LLP
Values:
- 0x0 (PROGRAMMABLE): Exclude logic to hardcode Channel 7 LLP register to 0
- 0x0 (HARDCODED): Hardcode Channel 7 LLP register to 0
Value after reset: 0x0
44 R CH7 CTL WB EN
Values:
- 0x0 (FALSE): Exclude logic to enable control register writeback after each block transfer
on channel 7
- 0x1 (TRUE): Include logic to enable control register writeback after each block transfer
on channel 7
Value after reset: 0x0
42 R CH7 LOCK EN
Values:
- 0x0 (FALSE): Exclude logic to enable channel or bus locking on channel 7
- 0x1 (TRUE): Include logic to enable channel or bus locking on channel 7
Value after reset: 0x0
31:0 R RSVD
Reserved field - read-only
Value after reset: 0x0
Offset: 3D0h DMA COMP PARAMS 5: HDMA Component Parameters Register 5 Init = 0
63 R RSVD
Reserved field - read-only
Value after reset: 0x0
47:46 R CH5 FC
Values:
- 0x0 (F DMA): Flow controller is DMA for channel 5
- 0x1 (F SRC): Flow controller is Source for channel 5
- 0x2 (F DST): Flow controller is Destination for channel 5
- 0x3 (F ANY): Flow controller is ANY for channel 5
Value after reset: 0x0
45 R CH5 HC LLP
Values:
- 0x0 (PROGRAMMABLE): Exclude logic to hardcode Channel 5 LLP register to 0
- 0x0 (HARDCODED): Hardcode Channel 5 LLP register to 0
Value after reset: 0x0
44 R CH5 CTL WB EN
Values:
- 0x0 (FALSE): Exclude logic to enable control register writeback after each block transfer
on channel 5
- 0x1 (TRUE): Include logic to enable control register writeback after each block transfer
on channel 5
Value after reset: 0x0
42 R CH5 LOCK EN
Values:
- 0x0 (FALSE): Exclude logic to enable channel or bus locking on channel 5
- 0x1 (TRUE): Include logic to enable channel or bus locking on channel 5
Value after reset: 0x0
31 R RSVD
Reserved field - read-only
Value after reset: 0x0
15:14 R CH6 FC
Values:
- 0x0 (F DMA): Flow controller is DMA for channel 6
- 0x1 (F SRC): Flow controller is Source for channel 6
- 0x2 (F DST): Flow controller is Destination for channel 6
- 0x3 (F ANY): Flow controller is ANY for channel 6
Value after reset: 0x0
13 R CH6 HC LLP
Values:
- 0x0 (PROGRAMMABLE): Exclude logic to hardcode Channel 6 LLP register to 0
- 0x0 (HARDCODED): Hardcode Channel 6 LLP register to 0
Value after reset: 0x0
12 R CH6 CTL WB EN
Values:
- 0x0 (FALSE): Exclude logic to enable control register writeback after each block transfer
on channel 6
- 0x1 (TRUE): Include logic to enable control register writeback after each block transfer
on channel 6
Value after reset: 0x0
10 R CH6 LOCK EN
Values:
- 0x0 (FALSE): Exclude logic to enable channel or bus locking on channel 6
- 0x1 (TRUE): Include logic to enable channel or bus locking on channel 6
Value after reset: 0x0
5 :3 R CH6 STW
Values:
- 0x0 (NO HARDCODE): No hardcode
- 0x1 (STW 8): Hardcode the channel 6’s source transfer width to 8 bits
- 0x2 (STW 16): Hardcode the channel 6’s source transfer width to 16 bits
- 0x3 (STW 32): Hardcode the channel 6’s source transfer width to 32 bits
- 0x4 (STW 64): Hardcode the channel 6’s source transfer width to 64 bits
- 0x5 (STW 128): Hardcode the channel 6’s source transfer width to 128 bits
- 0x6 (STW 256): Hardcode the channel 6’s source transfer width to 256 bits
- 0x7 (RESERVED): Reserved Value after reset: 0x3
2 :0 R CH6 DTW
Values:
- 0x0 (NO HARDCODE): No hardcode
- 0x1 (STW 8): Hardcode the channel 6’s destination transfer width to 8 bits
- 0x2 (STW 16): Hardcode the channel 6’s destination transfer width to 16 bits
- 0x3 (STW 32): Hardcode the channel 6’s destination transfer width to 32 bits
- 0x4 (STW 64): Hardcode the channel 6’s destination transfer width to 64 bits
- 0x5 (STW 128): Hardcode the channel 6’s destination transfer width to 128 bits
- 0x6 (STW 256): Hardcode the channel 6’s destination transfer width to 256 bits
- 0x7 (RESERVED): Reserved
Value after reset: 0x3
Offset: 3D8h DMA COMP PARAMS 4: HDMA Component Parameters Register 4 Init = 0
63 R RSVD
Reserved field - read-only
Value after reset: 0x0
47:46 R CH3 FC
Values:
- 0x0 (F DMA): Flow controller is DMA for channel 3
- 0x1 (F SRC): Flow controller is Source for channel 3
- 0x2 (F DST): Flow controller is Destination for channel 3
- 0x3 (F ANY): Flow controller is ANY for channel 3
Value after reset: 0x0
45 R CH3 HC LLP
Values:
- 0x0 (PROGRAMMABLE): Exclude logic to hardcode Channel 3 LLP register to 0
- 0x0 (HARDCODED): Hardcode Channel 3 LLP register to 0
Value after reset: 0x0
44 R CH3 CTL WB EN
Values:
- 0x0 (FALSE): Exclude logic to enable control register writeback after each block transfer
on channel 3
- 0x1 (TRUE): Include logic to enable control register writeback after each block transfer
on channel 3
Value after reset: 0x0
42 R CH3 LOCK EN
Values:
- 0x0 (FALSE): Exclude logic to enable channel or bus locking on channel 3
- 0x1 (TRUE): Include logic to enable channel or bus locking on channel 3
Value after reset: 0x0
31 R RSVD
Reserved field - read-only
Value after reset: 0x0
15:14 R CH4 FC
Values:
- 0x0 (F DMA): Flow controller is DMA for channel 4
- 0x1 (F SRC): Flow controller is Source for channel 4
- 0x2 (F DST): Flow controller is Destination for channel 4
- 0x3 (F ANY): Flow controller is ANY for channel 4
Value after reset: 0x0
13 R CH4 HC LLP
Values:
- 0x0 (PROGRAMMABLE): Exclude logic to hardcode Channel 4 LLP register to 0
- 0x0 (HARDCODED): Hardcode Channel 4 LLP register to 0
Value after reset: 0x0
12 R CH4 CTL WB EN
Values:
- 0x0 (FALSE): Exclude logic to enable control register writeback after each block transfer
on channel 4
- 0x1 (TRUE): Include logic to enable control register writeback after each block transfer
on channel 4
Value after reset: 0x0
10 R CH4 LOCK EN
Values:
- 0x0 (FALSE): Exclude logic to enable channel or bus locking on channel 4
- 0x1 (TRUE): Include logic to enable channel or bus locking on channel 4
Value after reset: 0x0
5 :3 R CH4 STW
Values:
- 0x0 (NO HARDCODE): No hardcode
- 0x1 (STW 8): Hardcode the channel 4’s source transfer width to 8 bits
- 0x2 (STW 16): Hardcode the channel 4’s source transfer width to 16 bits
- 0x3 (STW 32): Hardcode the channel 4’s source transfer width to 32 bits
- 0x4 (STW 64): Hardcode the channel 4’s source transfer width to 64 bits
- 0x5 (STW 128): Hardcode the channel 4’s source transfer width to 128 bits
- 0x6 (STW 256): Hardcode the channel 4’s source transfer width to 256 bits
- 0x7 (RESERVED): Reserved
Value after reset: 0x3
2 :0 R CH4 DTW
Values:
- 0x0 (NO HARDCODE): No hardcode
- 0x1 (STW 8): Hardcode the channel 4’s destination transfer width to 8 bits
- 0x2 (STW 16): Hardcode the channel 4’s destination transfer width to 16 bits
- 0x3 (STW 32): Hardcode the channel 4’s destination transfer width to 32 bits
- 0x4 (STW 64): Hardcode the channel 4’s destination transfer width to 64 bits
- 0x5 (STW 128): Hardcode the channel 4’s destination transfer width to 128 bits
- 0x6 (STW 256): Hardcode the channel 4’s destination transfer width to 256 bits
- 0x7 (RESERVED): Reserved
Value after reset: 0x3
Offset: 3E0h DMA COMP PARAMS 3: HDMA Component Parameters Register 3 Init = 0
63 R RSVD
Reserved field - read-only
Value after reset: 0x0
47:46 R CH1 FC
Values:
- 0x0 (F DMA): Flow controller is DMA for channel 1
- 0x1 (F SRC): Flow controller is Source for channel 1
- 0x2 (F DST): Flow controller is Destination for channel 1
- 0x3 (F ANY): Flow controller is ANY for channel 1
Value after reset: 0x0
45 R CH1 HC LLP
Values:
- 0x0 (PROGRAMMABLE): Exclude logic to hardcode Channel 1 LLP register to 0
- 0x0 (HARDCODED): Hardcode Channel 1 LLP register to 0
Value after reset: 0x0
44 R CH1 CTL WB EN
Values:
- 0x0 (FALSE): Exclude logic to enable control register writeback after each block transfer
on channel 1
- 0x1 (TRUE): Include logic to enable control register writeback after each block transfer
on channel 1
Value after reset: 0x0
42 R CH1 LOCK EN
Values:
- 0x0 (FALSE): Exclude logic to enable channel or bus locking on channel 1
- 0x1 (TRUE): Include logic to enable channel or bus locking on channel 1
Value after reset: 0x0
31 R RSVD
Reserved field - read-only
Value after reset: 0x0
15:14 R CH2 FC
Values:
- 0x0 (F DMA): Flow controller is DMA for channel 2
- 0x1 (F SRC): Flow controller is Source for channel 2
- 0x2 (F DST): Flow controller is Destination for channel 2
- 0x3 (F ANY): Flow controller is ANY for channel 2
Value after reset: 0x0
13 R CH2 HC LLP
Values:
- 0x0 (PROGRAMMABLE): Exclude logic to hardcode Channel 2 LLP register to 0
- 0x0 (HARDCODED): Hardcode Channel 2 LLP register to 0
Value after reset: 0x0
12 R CH2 CTL WB EN
Values:
- 0x0 (FALSE): Exclude logic to enable control register writeback after each block transfer
on channel 2
- 0x1 (TRUE): Include logic to enable control register writeback after each block transfer
on channel 2
Value after reset: 0x0
10 R CH2 LOCK EN
Values:
- 0x0 (FALSE): Exclude logic to enable channel or bus locking on channel 2
- 0x1 (TRUE): Include logic to enable channel or bus locking on channel 2
Value after reset: 0x0
5 :3 R CH2 STW
Values:
- 0x0 (NO HARDCODE): No hardcode
- 0x1 (STW 8): Hardcode the channel 2’s source transfer width to 8 bits
- 0x2 (STW 16): Hardcode the channel 2’s source transfer width to 16 bits
- 0x3 (STW 32): Hardcode the channel 2’s source transfer width to 32 bits
- 0x4 (STW 64): Hardcode the channel 2’s source transfer width to 64 bits
- 0x5 (STW 128): Hardcode the channel 2’s source transfer width to 128 bits
- 0x6 (STW 256): Hardcode the channel 2’s source transfer width to 256 bits
- 0x7 (RESERVED): Reserved Value after reset: 0x3
2 :0 R CH2 DTW
Values:
- 0x0 (NO HARDCODE): No hardcode
- 0x1 (STW 8): Hardcode the channel 2’s destination transfer width to 8 bits
- 0x2 (STW 16): Hardcode the channel 2’s destination transfer width to 16 bits
- 0x3 (STW 32): Hardcode the channel 2’s destination transfer width to 32 bits
- 0x4 (STW 64): Hardcode the channel 2’s destination transfer width to 64 bits
- 0x5 (STW 128): Hardcode the channel 2’s destination transfer width to 128 bits
- 0x6 (STW 256): Hardcode the channel 2’s destination transfer width to 256 bits
- 0x7 (RESERVED): Reserved Value after reset: 0x3
Offset: 3E8h DMA COMP PARAMS 2: HDMA Component Parameters Register 2 Init = 0
63:60 R CH7 MULTI BLK TYPE
Source status information retrieved by hardware from the address pointed to by the con-
tents of the STATAR2 register
Values: 0x0
- 0x0 (PROGRAMMABLE): Allow all types of multi-support
- 0x1 (CONT RELOAD): Allow only multi-block transfers where SAR7 is contiguous; DAR
and CTL are reloaded from their initial values
- 0x2 (RELOAD CONT): Allow only multi-block transfers where SAR7 and CTL7 are
reloaded from their initial values; DAR7 is contiguous
- 0x3 (RELOAD RELOAD): Allow only multi-block transfers where SAR7, DAR7,and CTL7
are reloaded from their initial values
- 0x4 (CONT LLP): Allow only multi-block transfers where SAR7 is contiguous;DAR7,
CTL7, and LLP7 are loaded from the next linked list item
- 0x5 (RELOAD LLP): Allow only multi-block transfers where SAR7 is reloaded from its
initial value; DAR7, CTL7, and LLP7,are loaded from the next linked list item
- 0x6 (CNT LLP): Allow only multi-block transfers where SAR7, CTL7, and LLP7 are
loaded from the next linked list item; DAR7 is contiguous
- 0x7 (LLP RELOAD): Allow only multi-block transfers where SAR7, CTL7, and LLP7,are
loaded from the next linked list item; DARx is reloaded from its initial values
- 0x8 (LLP LLP): Allow only multi-block transfers where SAR7, DAR7, CTL7, and LLP7 are
loaded from the next linked list item
Value after reset: 0x0
Volatile: true
31 R RSVD
Reserved field - read-only
Value after reset: 0x0
15:14 R CH0 FC
Values:
- 0x0 (F DMA): Flow controller is DMA for channel 0
- 0x1 (F SRC): Flow controller is Source for channel 0
- 0x2 (F DST): Flow controller is Destination for channel 0
- 0x3 (F ANY): Flow controller is ANY for channel 0
Value after reset: 0x0
13 R CH0 HC LLP
Values:
- 0x0 (PROGRAMMABLE): Exclude logic to hardcode Channel 0 LLP register to 0
- 0x0 (HARDCODED): Hardcode Channel 0 LLP register to 0
Value after reset: 0x0
12 R CH0 CTL WB EN
Values:
- 0x0 (FALSE): Exclude logic to enable control register writeback after each block transfer
on channel 0
- 0x1 (TRUE): Include logic to enable control register writeback after each block transfer
on channel 0
Value after reset: 0x0
10 R CH0 LOCK EN
Values:
- 0x0 (FALSE): Exclude logic to enable channel or bus locking on channel 0
- 0x1 (TRUE): Include logic to enable channel or bus locking on channel 0
Value after reset: 0x0
5 :3 R CH0 STW
Values:
- 0x0 (NO HARDCODE): No hardcode
- 0x1 (STW 8): Hardcode the channel 0’s source transfer width to 8 bits
- 0x2 (STW 16): Hardcode the channel 0’s source transfer width to 16 bits
- 0x3 (STW 32): Hardcode the channel 0’s source transfer width to 32 bits
- 0x4 (STW 64): Hardcode the channel 0’s source transfer width to 64 bits
- 0x5 (STW 128): Hardcode the channel 0’s source transfer width to 128 bits
- 0x6 (STW 256): Hardcode the channel 0’s source transfer width to 256 bits
- 0x7 (RESERVED): Reserved Value after reset: 0x3
2 :0 R CH0 DTW
Values:
- 0x0 (NO HARDCODE): No hardcode
- 0x1 (STW 8): Hardcode the channel 0’s destination transfer width to 8 bits
- 0x2 (STW 16): Hardcode the channel 0’s destination transfer width to 16 bits
- 0x3 (STW 32): Hardcode the channel 0’s destination transfer width to 32 bits
- 0x4 (STW 64): Hardcode the channel 0’s destination transfer width to 64 bits
- 0x5 (STW 128): Hardcode the channel 0’s destination transfer width to 128 bits
- 0x6 (STW 256): Hardcode the channel 0’s destination transfer width to 256 bits
- 0x7 (RESERVED): Reserved Value after reset: 0x3
Offset: 3F0h DMA COMP PARAMS 1: HDMA Component Parameters Register 1 Init = 0
63:62 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
39:36 R RSVD
Reserved field - read-only
Value after reset: 0x0
Volatile: true
35 R MAX ABRST
Reserved field - read-only
Values:
- 0x0 (FALSE): Maximum AMBA burst length is not under the control of software - 0x1
(TRUE): Limit the maximum AMBA burst length to a value under software control by writing
to the channel configuration register Value after reset: 0x0
Volatile: true
34:33 R INTR IO
Reserved field - read-only
Values:
- 0x0 (ALL INT): ALL interrupt-related signals appear as outputs on the design
- 0x1 (TYPE INT): Only TYPE interrupt-related signals appear as outputs on the design
- 0x2 (COMBINED INT): Only COMBINED interruptrelated signals appear as outputs on
the design
- 0x3 (RESERVED): Reserved
Value after reset: 0x0
Volatile: true
32 R BIG ENDIAN
Values:
- 0x0 (FALSE): Big Endian
- 0x1 (TRUE): Little Endian
Value after reset: 0x0
Volatile: true
PECI totally implements 56 sets of 32-bit registers, which are listed below, to program the various supported
functions. Each register has its own specific offset value, ranging from 0x00 to 0x5C and from 0x80 to 0xFC,
to derive its physical address location.
56.2 Features
• Directly connected to APB bus
• Intel PECI 4.0/3.0/2.0/1.1 compliant
• Support up to 8 CPU and 2 domains per CPU
57.2 Features
PCIe General Controllers
• One PCIe Gen2 x1 Root Complex or Bridge Controller (mutually exclusive)
• One PCIe Gen2 x1 Root Complex Controller
• Support configuration, I/O, 32-bit memory, and message transactions
• Support INTX or MSI (number 32)
Offset: D0h PEHRD0: Miscellaneous Status D0h Link Register Init = 0xX
Bit R/W Description
20 RO link width x1 when link up
17 RO link speed 5.0G when link up
16 RO link speed 2.5G when link up
Offset: 08h SLI08: Decoder AHB Short Header Base Address Register Init = X
Bit R/W Description
31:24 RW Decoder AHB short header base address[31:24]
23:0 RO Reserved (0)
Offset: 0Ch SLI0C: Encoder AHB Short Header Base Address Register Init = X
Bit R/W Description
31:24 RW Encoder AHB short header base address[31:24]
23:0 RO Reserved (0)
Offset: 34h SLI34: SLI SRR Weight #0∼#3 Init = ffff ffffh
Bit R/W Description
31:24 RW SLI SRR Weight #3
23:16 RW SLI SRR Weight #2
15:8 RW SLI SRR Weight #1
7 :0 RW SLI SRR Weight #0
Offset: 3Ch SLI3Cc: SLI Client M-Bus Aribtration Grant Length Init = 0
Bit R/W Description
SLI Client
31:24 RO Reserved (0)
23:20 RW M-Bus encoder aribtration grant length selection for MRrq #5
19:16 RW M-Bus encoder aribtration grant length selection for MRrq #4
15:12 RW M-Bus encoder aribtration grant length selection for MRrq #3
11:8 RW M-Bus encoder aribtration grant length selection for MRrq #2
7 :4 RW M-Bus encoder aribtration grant length selection for MRrq #1
3 :0 RW M-Bus encoder aribtration grant length selection for MRrq #0
0: 4 data
1: 8 data
2: 12 data
3: 16 data
... 15: 64 data
Offset: 000h DPTX000: DPTX Interrupt to CPU Configuration Register Init = 0x19000000
Bit R/W Description
31 RW aux by gpio en
DP TX AUX channel signal path selection
0: through DP TX PHY
1: through thre GPIO pins
30 RW aux clk sel
DP TX AUX channel sampling clock source selection
0: from external 25MHz XTAL
1: from DP TX PHY
29:24 RW aux clk freq
DP TX AUX channel sampling clock frequency in MHz
23 RW aux reply timeout int 2 cpu en
DP TX AUX channel timeout interrupt to cpu enable
22 RW aux reply done int 2 cpu en
DP TX AUX channel reply done interrupt to cpu enable
21 RW hpd event int 2 cpu en
DP TX HPD event interrupt to cpu enable
20 RW hpd low int 2 cpu en
DP TX HPD low interrupt to cpu enable
19 RW hpd irq int 2 cpu en
DP TX HPD irq interrupt to cpu enable
18 RW timer 2 int 2 cpu en
DP TX cpu timer 2 interrupt to cpu enable
17 RW timer 1 int 2 cpu en
DP TX cpu timer 1 interrupt to cpu enable
16 RW timer 0 int 2 cpu en
DP TX cpu timer 0 interrupt to cpu enable
15 RW aux reply timeout int 2 cpu mask
DP TX AUX channel timeout interrupt to cpu mask
0: ignore interrupt raw status
1: reveal interrupt raw status
14 RW aux reply done int 2 cpu mask
DP TX AUX channel reply done interrupt to cpu mask
0: ignore interrupt raw status
1: reveal interrupt raw status
to next page
Offset: 004h DPTX004: DPTX Interrupt to CPU Status Register Init = 0x00000000
Bit R/W Description
31:16 RO Reserved
15 RO aux reply timeout int 2 cpu raw
DP TX AUX channel timeout interrupt to cpu raw status
14 RO aux reply done int 2 cpu raw
DP TX AUX channel reply done interrupt to cpu raw status
13 RO hpd event int 2 cpu raw
DP TX HPD event interrupt to cpu raw status
12 RO hpd low int 2 cpu raw
DP TX HPD low interrupt to cpu raw status
11 RO hpd irq int 2 cpu raw
DP TX HPD irq interrupt to cpu raw status
10 RO timer 2 int 2 cpu raw
DP TX cpu timer 2 interrupt to cpu raw status
9 RO timer 1 int 2 cpu raw
DP TX cpu timer 1 interrupt to cpu raw status
8 RO timer 0 int 2 cpu raw
DP TX cpu timer 0 interrupt to cpu raw status
7 RO aux reply timeout int 2 cpu
DP TX AUX channel timeout interrupt to cpu
6 RO aux reply done int 2 cpu
DP TX AUX channel reply done interrupt to cpu
5 RO hpd event int 2 cpu
DP TX HPD event interrupt to cpu
4 RO hpd low int 2 cpu
DP TX HPD low interrupt to cpu
3 RO hpd irq int 2 cpu
DP TX HPD irq interrupt to cpu
2 RO timer 2 int 2 cpu
DP TX cpu timer 2 interrupt to cpu
1 RO timer 1 int 2 cpu
DP TX cpu timer 1 interrupt to cpu
0 RO timer 0 int 2 cpu
DP TX cpu timer 0 interrupt to cpu
Offset: 008h DPTX008: DPTX Software Interrupt to CPU Configuration Register Init = 0x00FFFF00
Bit R/W Description
31:24 RO Reserved
23 RW reg bank int 2 cpu en[7]
DP TX software interrupt 7 to cpu enable
22 RW reg bank int 2 cpu en[6]
DP TX software interrupt 6 to cpu enable
21 RW reg bank int 2 cpu en[5]
DP TX software interrupt 5 to cpu enable
20 RW reg bank int 2 cpu en[4]
DP TX software interrupt 4 to cpu enable
19 RW reg bank int 2 cpu en[3]
DP TX software interrupt 3 to cpu enable
to next page
ASPEED Confidential All rights reserved. 1330 May 6, 2021
ASPEED AST2600 A3 Datasheet – V0.9
Offset: 00Ch DPTX00C: DPTX Software Interrupt to CPU Status Register Init = 0x00000000
Bit R/W Description
31:16 RO Reserved
15 RO reg bank int 2 cpu raw[7]
DP TX software interrupt 7 to cpu raw status
14 RO reg bank int 2 cpu raw[6]
DP TX software interrupt 6 to cpu raw status
13 RO reg bank int 2 cpu raw[5]
DP TX software interrupt 5 to cpu raw status
12 RO reg bank int 2 cpu raw[4]
DP TX software interrupt 4 to cpu raw status
11 RO reg bank int 2 cpu raw[3]
DP TX software interrupt 3 to cpu raw status
10 RO reg bank int 2 cpu raw[2]
DP TX software interrupt 2 to cpu raw status
9 RO reg bank int 2 cpu raw[1]
DP TX software interrupt 1 to cpu raw status
8 RO reg bank int 2 cpu raw[0]
DP TX software interrupt 0 to cpu raw status
7 RO reg bank int 2 cpu[7]
DP TX software interrupt 7 to cpu
6 RO reg bank int 2 cpu[6]
DP TX software interrupt 6 to cpu
5 RO reg bank int 2 cpu[5]
DP TX software interrupt 5 to cpu
4 RO reg bank int 2 cpu[4]
DP TX software interrupt 4 to cpu
3 RO reg bank int 2 cpu[3]
DP TX software interrupt 3 to cpu
2 RO reg bank int 2 cpu[2]
DP TX software interrupt 2 to cpu
1 RO reg bank int 2 cpu[1]
DP TX software interrupt 1 to cpu
0 RO reg bank int 2 cpu[0]
DP TX software interrupt 0 to cpu
Offset: 010h DPTX010: DPTX CPU Timer 0 Configuration Register Init = 0x00000000
Bit R/W Description
31 RW cpu timer 0 en
DP TX cpu timer 0 enable
30 RW cpu timer 0 mode sel
DP TX cpu timer 0 mode selection
0: one time mode
1: continuous mode (auto restart after DP TX cpu timer 0 down counts to zero)
29: 0 RW cpu timer 0 cnt warn
generate interrupt when DP TX cpu timer 0 down counts to this value
Offset: 014h DPTX014: DPTX CPU Timer 0 Configuration Register Init = 0x00000000
Bit R/W Description
31:30 RW cpu timer 0 tick sel
DP TX cpu timer 0 tick period selection
0: 1 us
1: 10 us
2: 100 us
3: 1 ms
29: 0 RW cpu timer 0 cnt init
generate interrupt when DP TX cpu timer 0 down counts from this value to zero
Offset: 018h DPTX018: DPTX CPU Timer 0 Status Register Init = 0x00000000
Bit R/W Description
31 RW cpu timer 0 zero flag
read as 0 before DP TX cpu timer 0 down counts to zero
read as 1 after DP TX cpu timer 0 down counts to zero
write with 1 to clear this bit
30 RW cpu timer 0 warn flag
read as 0 before DP TX cpu timer 0 down counts to cpu timer 0 cnt warn
read as 1 after DP TX cpu timer 0 down counts to cpu timer 0 cnt warn
write with 1 to clear this bit
29: 0 RW cpu timer 0 cnt curr
DP TX cpu timer 0 current value
Offset: 020h DPTX020: DPTX CPU Timer 1 Configuration Register Init = 0x00000000
Bit R/W Description
31 RW cpu timer 1 en
DP TX cpu timer 1 enable
30 RW cpu timer 1 mode sel
DP TX cpu timer 1 mode selection
0: one time mode
1: continuous mode (auto restart after DP TX cpu timer 1 down counts to zero)
29: 0 RW cpu timer 1 cnt warn
generate interrupt when DP TX cpu timer 1 down counts to this value
Offset: 024h DPTX024: DPTX CPU Timer 1 Configuration Register Init = 0x00000000
Bit R/W Description
31:30 RW cpu timer 1 tick sel
DP TX cpu timer 1 tick period selection
0: 1 us
1: 10 us
2: 100 us
3: 1 ms
29: 0 RW cpu timer 1 cnt init
generate interrupt when DP TX cpu timer 1 down counts from this value to zero
Offset: 028h DPTX028: DPTX CPU Timer 1 Status Register Init = 0x00000000
Bit R/W Description
31 RW cpu timer 1 zero flag
read as 0 before DP TX cpu timer 1 down counts to zero
read as 1 after DP TX cpu timer 1 down counts to zero
write with 1 to clear this bit
30 RW cpu timer 1 warn flag
read as 0 before DP TX cpu timer 1 down counts to cpu timer 0 cnt warn
read as 1 after DP TX cpu timer 1 down counts to cpu timer 0 cnt warn
write with 1 to clear this bit
29: 0 RW cpu timer 1 cnt curr
DP TX cpu timer 1 current value
Offset: 030h DPTX030: DPTX CPU Timer 2 Configuration Register Init = 0x00000000
Bit R/W Description
31 RW cpu timer 2 en
DP TX cpu timer 2 enable
30 RW cpu timer 2 mode sel
DP TX cpu timer 2 mode selection
0: one time mode
1: continuous mode (auto restart after DP TX cpu timer 2 down counts to zero)
29: 0 RW cpu timer 2 cnt warn
generate interrupt when DP TX cpu timer 2 down counts to this value
Offset: 034h DPTX034: DPTX CPU Timer 2 Configuration Register Init = 0x00000000
Bit R/W Description
31:30 RW cpu timer 2 tick sel
DP TX cpu timer 2 tick period selection
0: 1 us
1: 10 us
2: 100 us
3: 1 ms
29: 0 RW cpu timer 2 cnt init
generate interrupt when DP TX cpu timer 2 down counts from this value to zero
Offset: 038h DPTX038: DPTX CPU Timer 2 Status Register Init = 0x00000000
Bit R/W Description
31 RW cpu timer 1 zero flag
read as 0 before DP TX cpu timer 2 down counts to zero
read as 1 after DP TX cpu timer 2 down counts to zero
write with 1 to clear this bit
30 RW cpu timer 2 warn flag
read as 0 before DP TX cpu timer 2 down counts to cpu timer 0 cnt warn
read as 1 after DP TX cpu timer 2 down counts to cpu timer 0 cnt warn
write with 1 to clear this bit
29: 0 RW cpu timer 2 cnt curr
DP TX cpu timer 2 current value
Offset: 040h DPTX040: DPTX Interrupt to MCU Configuration Register Init = 0x00C00000
Bit R/W Description
31:24 RO Reserved
23 RW aux reply timeout int 2 mcu en
DP TX AUX channel timeout interrupt to mcu enable
22 RW aux reply done int 2 mcu en
DP TX AUX channel reply done interrupt to mcu enable
21 RW hpd event int 2 mcu en
DP TX HPD event interrupt to mcu enable
20 RW hpd low int 2 mcu en
DP TX HPD low interrupt to mcu enable
19 RW hpd irq int 2 mcu en
DP TX HPD irq interrupt to mcu enable
18 RW timer 2 int 2 mcu en
DP TX mcu timer 2 interrupt to mcu enable
17 RW timer 1 int 2 mcu en
DP TX mcu timer 1 interrupt to mcu enable
16 RW timer 0 int 2 mcu en
DP TX mcu timer 0 interrupt to mcu enable
15 RW aux reply timeout int 2 mcu mask
DP TX AUX channel timeout interrupt to mcu mask
0: ignore interrupt raw status
1: reveal interrupt raw status
14 RW aux reply done int 2 mcu mask
DP TX AUX channel reply done interrupt to mcu mask
0: ignore interrupt raw status
1: reveal interrupt raw status
13 RW hpd event int 2 mcu mask
DP TX HPD event interrupt to mcu mask
0: ignore interrupt raw status
1: reveal interrupt raw status
12 RW hpd low int 2 mcu mask
DP TX HPD low interrupt to mcu mask
0: ignore interrupt raw status
1: reveal interrupt raw status
to next page
Offset: 044h DPTX044: DPTX Interrupt to MCU Status Register Init = 0x00000000
Bit R/W Description
31:16 RO Reserved
15 RO aux reply timeout int 2 mcu raw
DP TX AUX channel timeout interrupt to mcu raw status
14 RO aux reply done int 2 mcu raw
DP TX AUX channel reply done interrupt to mcu raw status
13 RO hpd event int 2 mcu raw
DP TX HPD event interrupt to mcu raw status
to next page
Offset: 048h DPTX048: DPTX Software Interrupt to MCU Configuration Register Init = 0x00000000
Bit R/W Description
31:24 RO Reserved
23 RW reg bank int 2 mcu en[7]
DP TX software interrupt 7 to mcu enable
22 RW reg bank int 2 mcu en[6]
DP TX software interrupt 6 to mcu enable
21 RW reg bank int 2 mcu en[5]
DP TX software interrupt 5 to mcu enable
20 RW reg bank int 2 mcu en[4]
DP TX software interrupt 4 to mcu enable
19 RW reg bank int 2 mcu en[3]
DP TX software interrupt 3 to mcu enable
18 RW reg bank int 2 mcu en[2]
DP TX software interrupt 2 to mcu enable
17 RW reg bank int 2 mcu en[1]
DP TX software interrupt 1 to mcu enable
16 RW reg bank int 2 mcu en[0]
DP TX software interrupt 0 to mcu enable
to next page
Offset: 04Ch DPTX04C: DPTX Software Interrupt to MCU Status Register Init = 0x00000000
Bit R/W Description
31:16 RO Reserved
15 RO reg bank int 2 mcu raw[7]
DP TX software interrupt 7 to mcu raw status
14 RO reg bank int 2 mcu raw[6]
DP TX software interrupt 6 to mcu raw status
13 RO reg bank int 2 mcu raw[5]
DP TX software interrupt 5 to mcu raw status
12 RO reg bank int 2 mcu raw[4]
DP TX software interrupt 4 to mcu raw status
11 RO reg bank int 2 mcu raw[3]
DP TX software interrupt 3 to mcu raw status
10 RO reg bank int 2 mcu raw[2]
DP TX software interrupt 2 to mcu raw status
9 RO reg bank int 2 mcu raw[1]
DP TX software interrupt 1 to mcu raw status
8 RO reg bank int 2 mcu raw[0]
DP TX software interrupt 0 to mcu raw status
7 RO reg bank int 2 mcu[7]
DP TX software interrupt 7 to mcu
6 RO reg bank int 2 mcu[6]
DP TX software interrupt 6 to mcu
5 RO reg bank int 2 mcu[5]
DP TX software interrupt 5 to mcu
4 RO reg bank int 2 mcu[4]
DP TX software interrupt 4 to mcu
3 RO reg bank int 2 mcu[3]
DP TX software interrupt 3 to mcu
2 RO reg bank int 2 mcu[2]
DP TX software interrupt 2 to mcu
1 RO reg bank int 2 mcu[1]
DP TX software interrupt 1 to mcu
0 RO reg bank int 2 mcu[0]
DP TX software interrupt 0 to mcu
Offset: 050h DPTX050: DPTX MCU Timer 0 Configuration Register Init = 0x00000000
Bit R/W Description
31 RW mcu timer 0 en
DP TX mcu timer 0 enable
30 RW mcu timer 0 mode sel
DP TX mcu timer 0 mode selection
0: one time mode
1: continuous mode (auto restart after DP TX mcu timer 0 down counts to zero)
29: 0 RW mcu timer 0 cnt warn
generate interrupt when DP TX mcu timer 0 down counts to this value
Offset: 054h DPTX054: DPTX MCU Timer 0 Configuration Register Init = 0x00000000
Bit R/W Description
31:30 RW mcu timer 0 tick sel
DP TX mcu timer 0 tick period selection
0: 1 us
1: 10 us
2: 100 us
3: 1 ms
29: 0 RW mcu timer 0 cnt init
generate interrupt when DP TX mcu timer 0 down counts from this value to zero
Offset: 058h DPTX058: DPTX MCU Timer 0 Status Register Init = 0x00000000
Bit R/W Description
31 RW mcu timer 0 zero flag
read as 0 before DP TX mcu timer 0 down counts to zero
read as 1 after DP TX mcu timer 0 down counts to zero
write with 1 to clear this bit
30 RW mcu timer 0 warn flag
read as 0 before DP TX mcu timer 0 down counts to mcu timer 0 cnt warn
read as 1 after DP TX mcu timer 0 down counts to mcu timer 0 cnt warn
write with 1 to clear this bit
29: 0 RW mcu timer 0 cnt curr
DP TX mcu timer 0 current value
Offset: 060h DPTX060: DPTX MCU Timer 1 Configuration Register Init = 0x00000000
Bit R/W Description
31 RW mcu timer 1 en
DP TX mcu timer 1 enable
30 RW mcu timer 1 mode sel
DP TX mcu timer 1 mode selection
0: one time mode
1: continuous mode (auto restart after DP TX mcu timer 1 down counts to zero)
29: 0 RW mcu timer 1 cnt warn
generate interrupt when DP TX mcu timer 1 down counts to this value
Offset: 064h DPTX064: DPTX MCU Timer 1 Configuration Register Init = 0x00000000
Bit R/W Description
31:30 RW mcu timer 1 tick sel
DP TX mcu timer 1 tick period selection
0: 1 us
1: 10 us
2: 100 us
3: 1 ms
29: 0 RW mcu timer 1 cnt init
generate interrupt when DP TX mcu timer 1 down counts from this value to zero
Offset: 068h DPTX068: DPTX MCU Timer 1 Status Register Init = 0x00000000
Bit R/W Description
31 RW mcu timer 1 zero flag
read as 0 before DP TX mcu timer 1 down counts to zero
read as 1 after DP TX mcu timer 1 down counts to zero
write with 1 to clear this bit
30 RW mcu timer 1 warn flag
read as 0 before DP TX mcu timer 1 down counts to mcu timer 0 cnt warn
read as 1 after DP TX mcu timer 1 down counts to mcu timer 0 cnt warn
write with 1 to clear this bit
29: 0 RW mcu timer 1 cnt curr
DP TX mcu timer 1 current value
Offset: 070h DPTX070: DPTX MCU Timer 2 Configuration Register Init = 0x00000000
Bit R/W Description
31 RW mcu timer 2 en
DP TX mcu timer 2 enable
30 RW mcu timer 2 mode sel
DP TX mcu timer 2 mode selection
0: one time mode
1: continuous mode (auto restart after DP TX mcu timer 2 down counts to zero)
29: 0 RW mcu timer 2 cnt warn
generate interrupt when DP TX mcu timer 2 down counts to this value
Offset: 074h DPTX074: DPTX MCU Timer 2 Configuration Register Init = 0x00000000
Bit R/W Description
31:30 RW mcu timer 2 tick sel
DP TX mcu timer 2 tick period selection
0: 1 us
1: 10 us
2: 100 us
3: 1 ms
29: 0 RW mcu timer 2 cnt init
generate interrupt when DP TX mcu timer 2 down counts from this value to zero
Offset: 078h DPTX078: DPTX MCU Timer 2 Status Register Init = 0x00000000
Bit R/W Description
31 RW mcu timer 1 zero flag
read as 0 before DP TX mcu timer 2 down counts to zero
read as 1 after DP TX mcu timer 2 down counts to zero
write with 1 to clear this bit
30 RW mcu timer 2 warn flag
read as 0 before DP TX mcu timer 2 down counts to mcu timer 0 cnt warn
read as 1 after DP TX mcu timer 2 down counts to mcu timer 0 cnt warn
write with 1 to clear this bit
29: 0 RW mcu timer 2 cnt curr
DP TX mcu timer 2 current value
Offset: 080h DPTX07C: DPTX HPD IRQ Configuration Register Init = 0x00000000
Bit R/W Description
31:28 RO Reserved
27:16 RW hpd irq max us num
DP TX HPD low period for irq trigger upper bound
HPD irq interrupt is triggered if hpd low cnt ¿= hpd irq min us num and
hpd low cnt ¡= hpd irq max us num
25:10 RO Reserved
9: 0 RW hpd irq min us num
DP TX HPD low period for irq trigger lower bound
HPD irq interrupt is triggered if hpd low cnt ¿= hpd irq min us num and
hpd low cnt ¡= hpd irq max us num
Offset: 084h DPTX084: DPTX HPD Event Configuration Register Init = 0x00000000
Bit R/W Description
31:12 RO Reserved
11: 0 RW hpd event min us num
DP TX HPD low period for event trigger lower bound
HPD event interrupt is triggered if hpd low cnt ¿= hpd event min us num
Offset: 088h DPTX088: DPTX AUX Request Configuration Register Init = 0x00000000
Bit R/W Description
31:28 RO aux req cmd
DP TX AUX channel request command
27:21 RO Reserved
20 RW aux req length end en
DP TX AUX channel request packet is ended with aux req length
19:17 RO Reserved
16 RW aux req addr end en
DP TX AUX channel request packet is ended with aux req addr
15:13 RO Reserved
12 RO aux req awaiting reply flag
indicates if DP TX AUX channel is waiting for reply packet
11: 9 RO Reserved
8 RO aux req done flag
indicates if DP TX AUX channel request command is done with receiving reply
7: 5 RO Reserved
4 WO aux req trig cmd
write with 1 to trigger DP TX AUX channel request packet
this bit will go back to 0 after one clock cycle
3: 1 RO Reserved
0 WO aux reset cmd
write with 1 to reset DP TX AUX channel
this bit will go back to 0 after one clock cycle
Offset: 08Ch DPTX08C: DPTX AUX Request Length And Address Register Init = 0x00000000
Bit R/W Description
31:28 RO Reserved
27:24 RW aux req length
DP TX AUX channel request length
23:20 RO Reserved
19: 0 WO aux req addr
DP TX AUX channel request address
Offset: 090h DPTX090: DPTX AUX Request Data Register Init = 0x00000000
Bit R/W Description
31:24 RW aux req data byte 03
DP TX AUX channel request data byte 3
23:16 RW aux req data byte 02
DP TX AUX channel request data byte 2
15: 8 RW aux req data byte 01
DP TX AUX channel request data byte 1
7: 0 RW aux req data byte 00
DP TX AUX channel request data byte 0
Offset: 094h DPTX094: DPTX AUX Request Data Register Init = 0x00000000
Bit R/W Description
31:24 RW aux req data byte 07
DP TX AUX channel request data byte 7
23:16 RW aux req data byte 06
DP TX AUX channel request data byte 6
15: 8 RW aux req data byte 05
DP TX AUX channel request data byte 5
7: 0 RW aux req data byte 04
DP TX AUX channel request data byte 4
Offset: 098h DPTX098: DPTX AUX Request Data Register Init = 0x00000000
Bit R/W Description
31:24 RW aux req data byte 11
DP TX AUX channel request data byte 11
23:16 RW aux req data byte 10
DP TX AUX channel request data byte 10
15: 8 RW aux req data byte 09
DP TX AUX channel request data byte 9
7: 0 RW aux req data byte 08
DP TX AUX channel request data byte 8
Offset: 09Ch DPTX09C: DPTX AUX Request Data Register Init = 0x00000000
Bit R/W Description
31:24 RW aux req data byte 15
DP TX AUX channel request data byte 15
23:16 RW aux req data byte 14
DP TX AUX channel request data byte 14
15: 8 RW aux req data byte 13
DP TX AUX channel request data byte 13
7: 0 RW aux req data byte 12
DP TX AUX channel request data byte 12
Offset: 0A0h DPTX0A0: DPTX AUX Reply Data Register Init = 0x00000000
Bit R/W Description
31:24 RO aux req data byte 03
DP TX AUX channel reply data byte 3
23:16 RO aux req data byte 02
DP TX AUX channel reply data byte 2
15: 8 RO aux req data byte 01
DP TX AUX channel reply data byte 1
7: 0 RO aux req data byte 00
DP TX AUX channel reply data byte 0
Offset: 0A4h DPTX0A4: DPTX AUX Reply Data Register Init = 0x00000000
Bit R/W Description
31:24 RO aux req data byte 07
DP TX AUX channel reply data byte 7
23:16 RO aux req data byte 06
DP TX AUX channel reply data byte 6
15: 8 RO aux req data byte 05
DP TX AUX channel reply data byte 5
7: 0 RO aux req data byte 04
DP TX AUX channel reply data byte 4
Offset: 0A8h DPTX0A8: DPTX AUX Reply Data Register Init = 0x00000000
Bit R/W Description
31:24 RO aux req data byte 11
DP TX AUX channel reply data byte 11
23:16 RO aux req data byte 10
DP TX AUX channel reply data byte 10
15: 8 RO aux req data byte 09
DP TX AUX channel reply data byte 9
7: 0 RO aux req data byte 08
DP TX AUX channel reply data byte 8
Offset: 0ACh DPTX0AC: DPTX AUX Reply Data Register Init = 0x00000000
Bit R/W Description
31:24 RO aux req data byte 15
DP TX AUX channel reply data byte 15
23:16 RO aux req data byte 14
DP TX AUX channel reply data byte 14
15: 8 RO aux req data byte 13
DP TX AUX channel reply data byte 13
7: 0 RO aux req data byte 12
DP TX AUX channel reply data byte 12
Offset: 0B0h DPTX0B0: DPTX AUX Reply Command And Status Register Init = 0x00000000
Bit R/W Description
31:24 RO aux reply rise num
DP TX AUX channel reply physical layer rise count
23:16 RO aux reply fall num
DP TX AUX channel reply physical layer fall count
15:13 RO Reserved
12: 8 RO aux reply data num
DP TX AUX channel reply date byte number received
7: 4 RO aux reply cmd
DP TX AUX channel reply command received
3: 0 RO Reserved
Offset: 0B4h DPTX0B4: DPTX AUX Reply Configuration Register Init = 0x00000000
Bit R/W Description
31:17 RO Reserved
16 RW aux reply test en
0: DP TX AUX channel runs in normal mode
1: DP TX AUX channel runs in loop back mode
15:13 RO Reserved
12 RW aux reply timeout retry en
0: DP TX AUX channel request transaction is NOT restarted after reply time out
1: DP TX AUX channel request transaction is restarted after reply time out
15: 9 RO Reserved
8: 0 RO aux reply timeout us num
DP TX AUX channerl reply time out period in micro second
Offset: 0B8h DPTX0B8: DPTX AUX Read Configuration Register Init = 0x00000000
Bit R/W Description
31:29 RO Reserved
28 RW host read edid off
this register determines if host will read EDED through PCIe scratch register
0: enable
1: disable
27:25 RO Reserved
24 RW video format src sel
this register determines wither host or BMC will send video format to DisplayPort
0: host to send information through PCIe scratch register 0xe0, 0xe1 and 0xe4
1: BMC to send information at address 0x18000de0 and 0x18000de4
23:21 RO Reserved
20 RW aux rd 00205h en
this register determines whether or not to read DPCD 00205h every 5 ms
0: disable
1: enable
19:17 RO Reserved
16 RW rbr en
this register determines if reduced bit rate (1.62Gbps) is allowed
0: 1.62Gbps is NOT allowed
1: 1.62Gbps is allowed
15:12 RW aux wr repeat num
this register determines how many times determins
DP TX AUX will write DPCD at the same address with the same value
0: disable
1: enable
11: 9 RO Reserved
8 RW aux read edid wr 30h en
this bit determines whether or not to let
DP TX write I2C address 30h over AUX while reading EDID
0: disable
1: enable
7: 5 RO Reserved
to next page
Offset: 0C0h DPTX0C0: DPTX Main Link Configuration Register Init = 0x00000000
Bit R/W Description
31:13 RO Reserved
12 RW framing mode sel
framing mode selection
0: default framing mode
1: enhanced framing mode
11:10 RO Reserved
9: 8 RW link rate sel
link rate selection
0: 1.62 Gbps
1: 2.70 Gbps
2: 5.40 Gbps
7 RO Reserved
6: 4 RW lane num
lane count
0: all lanes inactive
1: 1 lane
2: 2 lanes
others: reserved
3: 1 RO Reserved
0 RW pkt reset cmd
write with 1 to reset DP TX main link layer and digital PHY
this bit will go back to 0 after one clock cycle
Offset: 0C4h DPTX0C4: DPTX Main Link Configuration Register Init = 0x00000000
Bit R/W Description
31:30 RO Reserved
29 RW vb id 5
VB-ID bit 5 (HDCP SYNC DETECT)
28:25 RO Reserved
24 RW msa mvid hw sel
MSA packet mvid source selection
0: from msa mvid by firmware
1: from msa mvid hw
to next page
Offset: 0C8h DPTX0C8: DPTX Main Link MSA Configuration Register Init = 0x000028A9
Bit R/W Description
31:24 RO Reserved
23: 0 RW msa mvid
MSA packet mvid set by firmware according to video pixel clock rate and DP TX main link
rate
Offset: 0CCh DPTX0CC: DPTX Main Link MSA Configuration Register Init = 0x00008000
Bit R/W Description
31:24 RO Reserved
23: 0 RW msa nvid
MSA packet nvid
Offset: 0D0h DPTX0D0: DPTX Main Link MSA Configuration Register Init = 0x031B0706
Bit R/W Description
31:16 RW msa vtotal
MSA packet vtotal = VER SYNC + VER BACK + VER ADDR + VER FRONT
15: 0 RW msa htotal
MSA packet htotal = HOR SYNC + HOR BACK + HOR ADDR + HOR FRONT
Offset: 0D4h DPTX0D4: DPTX Main Link MSA Configuration Register Init = 0x00180170
Bit R/W Description
31:16 RW msa vstart
If 0x1e6eb180[16] video line buf timing sel = 0, MSA packet vstart = VER SYNC +
VER BACK
If 0x1e6eb180[16] video line buf timing sel = 1, MSA packet vstart = VER SYNC +
VER BACK + VER FRONT
15: 0 RW msa hstart
If 0x1e6eb180[16] video line buf timing sel = 0, MSA packet hstart = HOR SYNC +
HOR BACK
If 0x1e6eb180[16] video line buf timing sel = 1, MSA packet hstart = HOR SYNC +
HOR BACK + HOR FRONT
Offset: 0D8h DPTX0D8: DPTX Main Link MSA Configuration Register Init = 0x03000556
Bit R/W Description
31:16 RW msa vheight
MSA packet vheight = VER ADDR
15: 0 RW msa hwidth
MSA packet hwidth = HOR ADDR
Offset: 0DCh DPTX0DC: DPTX Main Link MSA Configuration Register Init = 0x00700006
Bit R/W Description
31:16 RW msa vspvsw
MSA packet vspvsw = VER SYNC
15: 0 RW msa hsphsw
MSA packet hsphsw = HOR SYNC
Offset: 0E0h DPTX0E0: DPTX Main Link MSA Configuration Register Init = 0x00000000
Bit R/W Description
31:16 RO Reserved
15: 8 RW msa misc1
MSA packet misc1
7: 0 RW msa misc0
MSA packet misc0
Offset: 0E4h DPTX0E4: DPTX Main Link Training Pattern Configuration Register Init = 0x10000100
Bit R/W Description
31:30 RO Reserved
29:28 RW link pat sel
link training pattern selection
0: link training is NOT enabled
1: link training pattern 1 (TPS1)
2: link training pattern 2 (TPS2)
3: link training pattern 3 (TPS3)
27:25 RO Reserved
24 RW idle pat sel
VB-ID idle pattern selection
0: VB-ID idle pattern is NOT enabled
1: VB-ID idle pattern is enabled
23:19 RO Reserved
18:16 RW qual pat sel
link quality test pattern selection
2: Symbol Error Rate Measurement pattern
5: HBR2 Compliance EYE pattern
others: reserved
15: 0 RW qual pat 5 symbol num
corresponds to HBR2 COMPLIANCE SCRAMBLER RESET
Offset: 0E8h DPTX0E8: DPTX Main Link Digital PHY Configuration Register Init = 0x00001642
Bit R/W Description
31:29 RO Reserved
28 RW enc out custom en
DP TX 8b/10b encoder 80-bit custom test pattern enable
27:25 RO Reserved
24 RW enc out prbs7 en
DP TX 8b/10b encoder PRBS7 test pattern enable
23:21 RO Reserved
to next page
Offset: 0ECh DPTX0EC: DPTX Main Link Digital PHY Configuration Register Init = 0xAAAAAAAA
Bit R/W Description
31: 0 RW enc out custom pat apb[31: 0]
80-bit custom test pattern
Offset: 0F0h DPTX0F0: DPTX Main Link Digital PHY Configuration Register Init = 0xAAAAAAAA
Bit R/W Description
31: 0 RW enc out custom pat apb[63:32]
80-bit custom test pattern
Offset: 0F4h DPTX0F4: DPTX Main Link Digital PHY Configuration Register Init = 0x0000AAAA
Bit R/W Description
31:16 RO Reserved
15: 0 RW enc out custom pat apb[79:64]
80-bit custom test pattern
Offset: 0F8h DPTX0F8: DPTX Main Link Configuration Register Init = 0x16371120
Bit R/W Description
31 RO Reserved
30:24 RW tu valid symbol num integer
integer part of number of valid symbols in a transfer unit (TU), where TU size is fixed at 64
For example, if the number valid symbols is 51.63264, this register should be written with
51
23:22 RO Reserved
to next page
Offset: 0FCh DPTX0FC: DPTX Main Link Configuration Register Init = 0x00000000
Bit R/W Description
31 RW training fail 2nd eq
this bit indicates if link training second phase is failed at equalization
30 RW training fail 2nd cr
this bit indicates if link training second phase is failed at clock recovery
29 RW training fail 2nd
this bit indicates if link training second phase is failed
28 RW training fail 1st
this bit indicates if link training first phase is failed
27:26 RO Reserved
25 RW training done 2nd
this bit indicates if link training second phase is done
24 RW training done 1st
this bit indicates if link training first phase is done
to next page
ASPEED Confidential All rights reserved. 1351 May 6, 2021
ASPEED AST2600 A3 Datasheet – V0.9
Offset: 110h DPTX110: DPTX PHY Configuration And Status Register Init = 0x00000C00
Bit R/W Description
31:28 RO Reserved
27:24 RW DP TX I VCONTROL
DP TX PHY Vendor control
Vendordefined 4bit parallel input bus
Default value is 4b0000
23:20 RO Reserved
19:16 RW DP TX I debug sel
DP TX PHY Vendor reserved signal
Please reserve this signal for SW control
15: 0 RO DP TX O debug out
DP TX PHY Vendor reserved signal
Please reserve this signal for SW monitor
Offset: 160h DPTX160: DPTX Interrupt to VGA Configuration Register Init = 0x00FFFF00
Bit R/W Description
31:24 RO Reserved
23 RW aux reply timeout int 2 vga en
DP TX AUX channel timeout interrupt to vga enable
22 RW aux reply done int 2 vga en
DP TX AUX channel reply done interrupt to vga enable
21 RW hpd event int 2 vga en
DP TX HPD event interrupt to vga enable
to next page
ASPEED Confidential All rights reserved. 1358 May 6, 2021
ASPEED AST2600 A3 Datasheet – V0.9
Offset: 164h DPTX164: DPTX Interrupt to VGA Status Register Init = 0x00000000
Bit R/W Description
31:16 RO Reserved
15 RO aux reply timeout int 2 vga raw
DP TX AUX channel timeout interrupt to vga raw status
to next page
Offset: 168h DPTX168: DPTX Software Interrupt to VGA Configuration Register Init = 0x00ffff00
Bit R/W Description
31:24 RO Reserved
23 RW reg bank int 2 vga en[7]
DP TX software interrupt 7 to vga enable
22 RW reg bank int 2 vga en[6]
DP TX software interrupt 6 to vga enable
21 RW reg bank int 2 vga en[5]
DP TX software interrupt 5 to vga enable
20 RW reg bank int 2 vga en[4]
DP TX software interrupt 4 to vga enable
19 RW reg bank int 2 vga en[3]
DP TX software interrupt 3 to vga enable
18 RW reg bank int 2 vga en[2]
DP TX software interrupt 2 to vga enable
17 RW reg bank int 2 vga en[1]
DP TX software interrupt 1 to vga enable
16 RW reg bank int 2 vga en[0]
DP TX software interrupt 0 to vga enable
15 RW reg bank int 2 vga mask[7]
DP TX software interrupt 7 to vga mask
0: ignore interrupt raw status
1: reveal interrupt raw status
14 RW reg bank int 2 vga mask[6]
DP TX software interrupt 6 to vga mask
0: ignore interrupt raw status
1: reveal interrupt raw status
to next page
Offset: 16Ch DPTX16C: DPTX Software Interrupt to VGA Status Register Init = 0x00000000
Bit R/W Description
31:16 RO Reserved
15 RO reg bank int 2 vga raw[7]
DP TX software interrupt 7 to vga raw status
14 RO reg bank int 2 vga raw[6]
DP TX software interrupt 6 to vga raw status
13 RO reg bank int 2 vga raw[5]
DP TX software interrupt 5 to vga raw status
12 RO reg bank int 2 vga raw[4]
DP TX software interrupt 4 to vga raw status
11 RO reg bank int 2 vga raw[3]
DP TX software interrupt 3 to vga raw status
10 RO reg bank int 2 vga raw[2]
DP TX software interrupt 2 to vga raw status
9 RO reg bank int 2 vga raw[1]
DP TX software interrupt 1 to vga raw status
8 RO reg bank int 2 vga raw[0]
DP TX software interrupt 0 to vga raw status
7 RO reg bank int 2 vga[7]
DP TX software interrupt 7 to vga
6 RO reg bank int 2 vga[6]
DP TX software interrupt 6 to vga
5 RO reg bank int 2 vga[5]
DP TX software interrupt 5 to vga
4 RO reg bank int 2 vga[4]
DP TX software interrupt 4 to vga
3 RO reg bank int 2 vga[3]
DP TX software interrupt 3 to vga
2 RO reg bank int 2 vga[2]
DP TX software interrupt 2 to vga
1 RO reg bank int 2 vga[1]
DP TX software interrupt 1 to vga
0 RO reg bank int 2 vga[0]
DP TX software interrupt 0 to vga
Offset: 180h DPTX180: DPTX Video Line Buffer Configuration Register Init = 0x00003F3F
Bit R/W Description
31:29 RO Reserved
28 RW video line buf pat en
this bit is set to enable video line buffer pattern generation
to next page
Offset: 10084h DPMCU10084: DPMCU Break Point Configuration Register Init = 0x00000000
Bit R/W Description
31:21 RO Reserved
20 RW pc bp en
0: PC is NOT paused when it reaches pc bp
1: PC is paused when it reaches pc bp
19:17 RO Reserved
16: 2 RW pc bp 16 02
pc bp[16:2]
point for PC
1: 0 RO pc bp 01 00
pc bp[1:0]
always 0
Offset: 10088h DPMCU10088: DPMCU Next Program Counter Register Init = 0x00000000
Bit R/W Description
31:17 RO pc next imem base
15-bit MSBs of instruction memory base byte address
16: 0 RO pc next
next program counter
Offset: 1008Ch DPMCU1008C: DPMCU Current Program Counter Register Init = 0x00000000
Bit R/W Description
31:17 RO pc curr imem base
15-bit MSBs of instruction memory base byte address
16: 0 RO pc curr
current program counter
Offset: 10098h DPMCU10098: DPMCU Interrupt Enable Status Register Init = 0xFFFFFFFF
Bit R/W Description
31: 0 RO int en
interrupt enable bits controlled by instruction DP MCU INTEN
Offset: 1009Ch DPMCU1009C: DPMCU Interrupt Enable Status Register Init = 0x00000000
Bit R/W Description
31: 0 RO int src d2t
interrupt sources viewed by DP MCU
Offset: 100E8h DPMCU100E8: DPMCU Software Interrupt to VGA Configuration Register Init = 0x00ffff00
Bit R/W Description
31:24 RO Reserved
23 RW reg bank int 2 vga en[7]
DP TX software interrupt 7 to vga enable
22 RW reg bank int 2 vga en[6]
DP TX software interrupt 6 to vga enable
21 RW reg bank int 2 vga en[5]
DP TX software interrupt 5 to vga enable
20 RW reg bank int 2 vga en[4]
DP TX software interrupt 4 to vga enable
19 RW reg bank int 2 vga en[3]
DP TX software interrupt 3 to vga enable
18 RW reg bank int 2 vga en[2]
DP TX software interrupt 2 to vga enable
17 RW reg bank int 2 vga en[1]
DP TX software interrupt 1 to vga enable
16 RW reg bank int 2 vga en[0]
DP TX software interrupt 0 to vga enable
15 RW reg bank int 2 vga mask[7]
DP TX software interrupt 7 to vga mask
0: ignore interrupt raw status
1: reveal interrupt raw status
to next page
Offset: 100ECh DPMCU100EC: DPMCU Software Interrupt to VGA Status Register Init = 0x00000000
Bit R/W Description
31:16 RO Reserved
15 RO reg bank int 2 vga raw[7]
DP TX software interrupt 7 to vga raw status
14 RO reg bank int 2 vga raw[6]
DP TX software interrupt 6 to vga raw status
13 RO reg bank int 2 vga raw[5]
DP TX software interrupt 5 to vga raw status
12 RO reg bank int 2 vga raw[4]
DP TX software interrupt 4 to vga raw status
11 RO reg bank int 2 vga raw[3]
DP TX software interrupt 3 to vga raw status
10 RO reg bank int 2 vga raw[2]
DP TX software interrupt 2 to vga raw status
9 RO reg bank int 2 vga raw[1]
DP TX software interrupt 1 to vga raw status
8 RO reg bank int 2 vga raw[0]
DP TX software interrupt 0 to vga raw status
7 RO reg bank int 2 vga[7]
DP TX software interrupt 7 to vga
6 RO reg bank int 2 vga[6]
DP TX software interrupt 6 to vga
5 RO reg bank int 2 vga[5]
DP TX software interrupt 5 to vga
4 RO reg bank int 2 vga[4]
DP TX software interrupt 4 to vga
3 RO reg bank int 2 vga[3]
DP TX software interrupt 3 to vga
2 RO reg bank int 2 vga[2]
DP TX software interrupt 2 to vga
1 RO reg bank int 2 vga[1]
DP TX software interrupt 1 to vga
0 RO reg bank int 2 vga[0]
DP TX software interrupt 0 to vga
Only firmware can lock the secure boot registers, other softwares (ex.
system BIOS/driver) can not do this to prevent disturbing the operation of
firmware.
When this register is unlocked, the read back value of this register is 0x00000001.
When this register is locked, the read back value of this register is 0x00000000.
Offset: 048h SEC48: OTP QMRA and QMRB data read back Init = 0
Bit R/W Reset Description
15:0 RO - OTP QMRA data read back
This is the read back of OTP QMRA[15:0].
31:16 RO - OTP QMRB data read back
This is the read back of OTP QMRB[15:0].
Offset: 058h SEC58: Secure Boot Engine Internal Controller Register Init = 3
Bit R/W Reset Description
31:2 RO - Reserved(0)
1 RW1S RstARM Write Protection of this register SEC58
This register is set by Secure Boot engine.
0 RW RstARM Secure Boot Engine Internal Controller Register
Offset: 05Ch SEC5C: Secure Boot Engine Internal Controller Register Init = 0
Bit R/W Reset Description
31: 1 RO - Reserved(0)
6 RW1S RstARM Write Protection of this register SEC5C
This register is set by Secure Boot engine.
5: 0 RW RstARM Secure Boot Engine Internal Controller Registers
Offset: 070h SEC70: Secure Boot from SPI Status Register Init = 0
Bit R/W Reset Description
31: 3 RO - Reserved(0)
2 RW1S RstARM Write Protection of this register SEC70
This register will be set by Secure Boot Engine to prevent update.
1: 0 RW RstARM Secure Boot from SPI Status Registers
00: Reset initial value and during secure boot period. The value will keep 00 when
secure boot is not enabled or Boot from eMMC is enabled.
01: Secure Boot check failed.
10: Reserved
11: Secure Boot check passed.
Offset: 074h SEC74: Secure Boot from eMMC Status Register Init = 0
Bit R/W Reset Description
31: 3 RO - Reserved(0)
2 RW1S RstARM Write Protection of this register SEC74
This register will be set by Secure Boot Engine to prevent update.
1: 0 RW RstARM Secure Boot from SPI Status Registers
00: Reset initial value and during secure boot period. The value will keep 00 when
secure boot is not enabled or Boot from eMMC is not enabled.
01: Secure Boot check failed.
10: Reserved
11: Secure Boot check passed.
Offset: 080h SEC80: Secure Boot Engine Internal Controller Register Init = 0
Bit R/W Reset Description
31: 4 RO - Reserved(0)
3: 0 RW RstARM Secure Boot Engine Internal Controller Registers
Offset: 084h SEC84: Secure Boot Engine Internal Controller Register Init = 0
Bit R/W Reset Description
31:17 RO - Reserved(0)
16 RW1S RstARM Write Protection of this register SEC84
This register is set by Secure Boot engine.
15: 0 RW RstARM Secure Boot Engine Internal Controller Registers
Offset: 098h SEC98: Secure Boot Engine Internal Controller Register Init = 0
Bit R/W Reset Description
31: 8 RO - Reserved(0)
7: 0 RW RstARM Secure Boot Engine Internal Controller Registers
Offset: 0B0h SECB0: Secure Boot Engine Internal Controller Register Init = 0
Bit R/W Reset Description
31:30 RO - Reserved(0)
29: 0 RW RstARM Secure Boot Engine Internal Controller Registers
Offset: 0B4h SECB4: Secure Boot Engine Internal Controller Register Init = 0
Bit R/W Reset Description
31: 1 RO - Reserved(0)
0 RW RstARM Secure Boot Engine Internal Controller Registers
Offset: 80Ch SEC80C: Secure Boot Vault Key Control Register Init = 0
Bit R/W Reset Description
31: 3 RO - Reserved(0)
2 RW1S RstARM Vault Key Selection Protection
0: normal mode
1: Disable write capability of register SEC80C[0].
1 RW1S RstARM Vault Key Write Protection
0: normal mode
1: Disable write capability of registers SEC900 - SEC93C .
0 RW RstARM Vault Key Selection
0: Select first vault key for HACE
1: Select second valut key for HACE
Offset: 840h SEC840: Secure Boot DMA Source Address Register Init = x
Bit R/W Reset Description
31: 2 RW - Secure Boot DMA Source Address Register
Source starting address of secure boot DMA
1: 0 RO - Reserved(0)
Offset: 844h SEC844: Secure Boot DMA Destination Address Register Init = x
Bit R/W Reset Description
31: 2 RW - Secure Boot DMA Destination Address Register
Destination starting address of secure boot DMA
1: 0 RO - Reserved(0)
Offset: 854h SEC854: Secure Boot Crypto AES-GCM AAD Size Register Init = x
Bit R/W Reset Description
31:17 RO - Reserved(0)
16: 4 RW - Secure Boot Crypto AES-GCM AAD Size Register
Secure boot AES GCM AAD size.
3: 0 RO - Reserved(0)
Offset: 85Ch SEC85C: Secure Boot Hash Engine Fire Register Init = 0
Bit R/W Reset Description
31: 0 WT - Secure Boot Hash Engine Fire Register
Write any value to this is register will trigger secure boot hash engine fire. This
register is controlled by SBMCU.
Offset: 864h SEC864: Secure Boot Crypto Data Size Register Init = x
Bit R/W Reset Description
31:17 RO - Reserved(0)
16: 4 RW - Secure Boot Crypto Data Size Register
This register is controlled by SBMCU.
3: 0 RO - Reserved(0)
Offset: 868h SEC864: Secure Boot Crypto Data Total Size Register Init = x
Bit R/W Reset Description
31:13 RO - Reserved(0)
12: 0 RW - Secure Boot Crypto Data Total Size Register
This register is controlled by SBMCU.
Offset: 870h SEC870: Secure Boot Crypto Low Key Write Trigger Register Init = 0
Bit R/W Reset Description
31: 0 WT - Secure Boot Crypto Low Key Write Trigger Register
Write any value to this is register will trigger key[127:0] write. This register is
controlled by SBMCU.
Offset: 874h SEC874: Secure Boot Crypto High Key Write Trigger Register Init = 0
Bit R/W Reset Description
31: 0 WT - Secure Boot Crypto High Key Write Trigger Register
Write any value to this is register will trigger key[255:128] write. This register is
controlled by SBMCU.
Offset: 878h SEC878: Secure Boot Crypto Vector Write Trigger Register Init = 0
Bit R/W Reset Description
31: 0 WT - Secure Boot Crypto Vector Write Trigger Register
Write any value to this is register will trigger vector write. This register is controlled
by SBMCU.
Offset: 87Ch SEC87C: Secure Boot Crypto Engine Fire Register Init = 0
Bit R/W Reset Description
31: 0 WT - Secure Boot Crypto Engine Fire Register
Write any value to this is register will trigger vector write. This register is controlled
by SBMCU.
Offset: 880h SEC880: Secure Boot Crypto Data Buffer 0 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Crypto Data Buffer 0 Register
Data bit [31:0] of crypto data. This register is controlled by SBMCU.
Offset: 884h SEC884: Secure Boot Crypto Data Buffer 1 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Crypto Data Buffer 1 Register
Data bit [63:32] of crypto data. This register is controlled by SBMCU.
Offset: 888h SEC888: Secure Boot Crypto Data Buffer 2 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Crypto Data Buffer 2 Register
Data bit [95:64] of crypto data. This register is controlled by SBMCU.
Offset: 88Ch SEC88C: Secure Boot Crypto Data Buffer 3 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Crypto Data Buffer 3 Register
Data bit [127:96] of crypto data. This register is controlled by SBMCU.
Offset: 890h SEC890: Secure Boot Crypto AES-GCM GHash Key Write Trigger Register Init = 0
Bit R/W Reset Description
31: 0 WT - Secure Boot Crypto AES-GCM GHash Key Write Trigger Register
Write any value to this is register will trigger GHash write. This register is con-
trolled by SBMCU.
Offset: 8A0h SEC8A0: Secure Boot Crypto Key Buffer 0 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Crypto Key Buffer 0 Register
Data bit [31:0] of crypto key or vector. This register is controlled by SBMCU.
Offset: 8A4h SEC8A4: Secure Boot Crypto Key Buffer 1 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Crypto Key Buffer 1 Register
Data bit [63:32] of crypto key or vector. This register is controlled by SBMCU.
Offset: 8A8h SEC8A8: Secure Boot Crypto Key Buffer 2 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Crypto Key Buffer 2 Register
Data bit [95:64] of crypto key or vector. This register is controlled by SBMCU.
Offset: 8ACh SEC8AC: Secure Boot Crypto Key Buffer 3 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Crypto Key Buffer 3 Register
Data bit [127:96] of crypto key or vector. This register is controlled by SBMCU.
Offset: 8B0h SEC8B0: Secure Boot Crypto Key Buffer 4 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Crypto Key Buffer 4 Register
Data bit [159:128] of crypto key . This register is controlled by SBMCU.
Offset: 8B4h SEC8B4: Secure Boot Crypto Key Buffer 5 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Crypto Key Buffer 5 Register
Data bit [191:160] of crypto key. This register is controlled by SBMCU.
Offset: 8B8h SEC8B8: Secure Boot Crypto Key Buffer 6 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Crypto Key Buffer 6 Register
Data bit [223:192] of crypto key. This register is controlled by SBMCU.
Offset: 8BCh SEC8BC: Secure Boot Crypto Key Buffer 7 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Crypto Key Buffer 7 Register
Data bit [255:224] of crypto key. This register is controlled by SBMCU.
Offset: 900h SEC900: Secure Boot First Vault Key 0 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot First Vault Key 0 Register
Data bit [31:0] of first vault key.
Offset: 904h SEC904: Secure Boot First Vault Key 1 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot First Vault Key 1 Register
Data bit [63:32] of first vault key.
Offset: 908h SEC908: Secure Boot First Vault Key 2 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot First Vault Key 2 Register
Data bit [95:64] of first vault key.
Offset: 90Ch SEC90C: Secure Boot First Vault Key 3 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot First Vault Key 3 Register
Data bit [127:96] of first vault key.
Offset: 910h SEC910: Secure Boot First Vault Key 4 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot First Vault Key 4 Register
Data bit [159:128] of first vault key .
Offset: 914h SEC914: Secure Boot First Vault Key 5 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot First Vault Key 5 Register
Data bit [191:160] of first vault key.
Offset: 918h SEC918: Secure Boot First Vault Key 6 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot First Vault Key 6 Register
Data bit [223:192] of first vault key.
Offset: 91Ch SEC91C: Secure Boot First Vault Key 7 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot First Vault Key 7 Register
Data bit [255:224] of first vault key.
Offset: 920h SEC920: Secure Boot Second Vault Key 0 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Second Vault Key 0 Register
Data bit [31:0] of second vault key.
Offset: 924h SEC924: Secure Boot Second Vault Key 1 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Second Vault Key 1 Register
Data bit [63:32] of second vault key.
Offset: 928h SEC928: Secure Boot Second Vault Key 2 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Second Vault Key 2 Register
Data bit [95:64] of second vault key.
Offset: 92Ch SEC92C: Secure Boot Second Vault Key 3 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Second Vault Key 3 Register
Data bit [127:96] of second vault key.
Offset: 930h SEC930: Secure Boot Second Vault Key 4 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Second Vault Key 4 Register
Data bit [159:128] of second vault key .
Offset: 934h SEC934: Secure Boot Second Vault Key 5 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Second Vault Key 5 Register
Data bit [191:160] of second vault key.
Offset: 938h SEC938: Secure Boot Second Vault Key 6 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Second Vault Key 6 Register
Data bit [223:192] of second vault key.
Offset: 93Ch SEC93C: Secure Boot Second Vault Key 7 Register Init = x
Bit R/W Reset Description
31: 0 WO - Secure Boot Second Vault Key 7 Register
Data bit [255:224] of second vault key.
62.2 Features
• Complies with On-Chip Peripheral Bus specification Rev. 2.1
• Complies with OpenFSI specification Rev. 1.0.0
• Supports 2 FSI master ports.
• Supports one DMA engine.
• Implements 2 sets of OPB/FSI registers.
Offset: 4C FSIM4C: OPB0 Write Data Byte Order1 Select Init = 0x0044EEE4
Bit R/W Description
31:24 RO Reserved
23:22 RW opb0 hw10 selwr b3
21:20 RW opb0 hw10 selwr b2
19:18 RW opb0 hw10 selwr b1
17:16 RW opb0 hw10 selwr b0
15:14 RW opb0 hw00 selwr b3
13:12 RW opb0 hw00 selwr b2
to next page
Offset: 50 FSIM50: OPB0 Write Data Byte Order2 Select Init = 0x0055AAFF
Bit R/W Description
31:30 RW opb0 by11 selwr b3
29:28 RW opb0 by11 selwr b2
27:26 RW opb0 by11 selwr b1
25:24 RW opb0 by11 selwr b0
23:22 RW opb0 by10 selwr b3
21:20 RW opb0 by10 selwr b2
19:18 RW opb0 by10 selwr b1
17:16 RW opb0 by10 selwr b0
15:14 RW opb0 by01 selwr b3
13:12 RW opb0 by01 selwr b2
11:10 RW opb0 by01 selwr b1
9:8 RW opb0 by01 selwr b0
7:6 RW opb0 by00 selwr b3
5:4 RW opb0 by00 selwr b2
3:2 RW opb0 by00 selwr b1
1:0 RW opb0 by00 selwr b0
Offset: 54 FSIM54: OPB1 Write Data Byte Order1 Select Init = 0x00117717
Bit R/W Description
31:24 RO Reserved
23:22 RW opb1 hw10 selwr b3
21:20 RW opb1 hw10 selwr b2
19:18 RW opb1 hw10 selwr b1
17:16 RW opb1 hw10 selwr b0
15:14 RW opb1 hw00 selwr b3
13:12 RW opb1 hw00 selwr b2
11:10 RW opb1 hw00 selwr b1
9:8 RW opb1 hw00 selwr b0
7:6 RW opb1 fw selwr b3
5:4 RW opb1 fw selwr b2
3:2 RW opb1 fw selwr b1
1:0 RW opb1 fw selwr b0
Offset: 58 FSIM58: OPB1 Write Data Byte Order2 Select Init = 0xFFAA5500
Bit R/W Description
31:30 RW opb1 by11 selwr b3
29:28 RW opb1 by11 selwr b2
27:26 RW opb1 by11 selwr b1
25:24 RW opb1 by11 selwr b0
23:22 RW opb1 by10 selwr b3
21:20 RW opb1 by10 selwr b2
19:18 RW opb1 by10 selwr b1
17:16 RW opb1 by10 selwr b0
15:14 RW opb1 by01 selwr b3
13:12 RW opb1 by01 selwr b2
11:10 RW opb1 by01 selwr b1
9:8 RW opb1 by01 selwr b0
7:6 RW opb1 by00 selwr b3
5:4 RW opb1 by00 selwr b2
3:2 RW opb1 by00 selwr b1
1:0 RW opb1 by00 selwr b0
Offset: 5C FSIM5C: OPB0 Read Data Byte Order Select Init = 0x0044EEE4
Bit R/W Description
31:24 RO Reserved
23:22 RW opb0 by selrd b3
21:20 RW opb0 by selrd b2
19:18 RW opb0 by selrd b1
17:16 RW opb0 by selrd b0
15:14 RW opb0 hw selrd b3
13:12 RW opb0 hw selrd b2
11:10 RW opb0 hw selrd b1
9:8 RW opb0 hw selrd b0
7:6 RW opb0 fw selrd b3
5:4 RW opb0 fw selrd b2
3:2 RW opb0 fw selrd b1
1:0 RW opb0 fw selrd b0
Offset: 60 FSIM60: OPB1 Read Data Byte Order Select Init = 0x00117717
Bit R/W Description
31:24 RO Reserved
23:22 RW opb1 by selrd b3
21:20 RW opb1 by selrd b2
19:18 RW opb1 by selrd b1
17:16 RW opb1 by selrd b0
15:14 RW opb1 hw selrd b3
to next page
Offset: C4 FSIMC4: DMA Channel0 Data Base Address Register Init = 0x00000000
Bit R/W Description
31 RO Reserved
30:2 RW DBASE address, 4-bytes aligned.
1:0 RO Reserved
Offset: CC FSIMCC: DMA Channel1 Data Base Address Register Init = 0x00000000
Bit R/W Description
31 RO Reserved
30:2 RW DBASE address, 4-bytes aligned.
1:0 RO Reserved
Offset: D4 FSIMD4: DMA Channel2 Data Base Address Register Init = 0x00000000
Bit R/W Description
31 RO Reserved
30:2 RW DBASE address, 4-bytes aligned.
1:0 RO Reserved
Offset: DC FSIMDC: DMA Channel3 Data Base Address Register Init = 0x00000000
Bit R/W Description
31 RO Reserved
30:2 RW DBASE address, 4-bytes aligned.
1:0 RO Reserved
Part IV
PCI Express Interface
63 PCI Express Controller (PCIE)
63.1 PCI Express Configuration Registers
Byte Offset 31:24 23:16 15:8 7:0
000h..03Fh TYPE 1 CONFIGURATION REGISTERS
040h..043h SSID/SSVID PROTECTION
044h..04Fh Reserved
050h..05Fh MESSAGE SIGNALED INTERRUPTS
060h..077h Reserved
078h..07Fh POWER MANAGEMENT CAPABILITY STRUCTURE
080h..0BBh PCI EXPRESS
0BCh..0BFh Reserved
0C0h..0C7h SSID/SSVID CAPABILITY STRUCTURE
0C8h..0FFh Reserved
100h..11Bh VIRTUAL CHANNEL CAPABILITY STRUCTURE
200h..22Fh PCIe DVSEC (ID:03Eh)
2C0h..2E3h PCIe DVSEC (ID:02Eh)
800h..82Bh PCIe AER Capability
Offset: 00h PDSE00: PCIe Device Security Enhancement Control Register 00 Init = 0x2C010023
Bit R/W Description
31:0 RW PCIe DVSEC (03Eh) Header 1
Offset: 04h PDSE04: PCIe Device Security Enhancement Control Register 04 Init = 0x05018086
Bit R/W Description
31:0 RW PCIe DVSEC (03Eh) Header 2
Offset: 08h PDSE08: PCIe Device Security Enhancement Control Register 08 Init = 0x0003003E
Bit R/W Description
31:0 RW PCIe DVSEC (03Eh) Header 3
Offset: 0Ch PDSE0C: PCIe Device Security Enhancement Control Register 0C Init = 0x0000000D
Bit R/W Description
31:24 RW DIGEST SEL
23:16 RW NUM DIGEST
15:0 RW TCG ALG ID
Offset: 10h PDSE10: PCIe Device Security Enhancement Control Register 10 Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST 0
Offset: 14h PDSE14: PCIe Device Security Enhancement Control Register 14 Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST 1
Offset: 18h PDSE18: PCIe Device Security Enhancement Control Register 18 Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST 2
Offset: 1Ch PDSE1C: PCIe Device Security Enhancement Control Register 1C Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST 3
Offset: 20h PDSE20: PCIe Device Security Enhancement Control Register 20 Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST 4
Offset: 24h PDSE24: PCIe Device Security Enhancement Control Register 24 Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST 5
Offset: 28h PDSE28: PCIe Device Security Enhancement Control Register 28 Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST 6
Offset: 2Ch PDSE2C: PCIe Device Security Enhancement Control Register 2C Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST 7
Offset: 30h PDSE30: PCIe Device Security Enhancement Control Register 30 Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST 8
Offset: 34h PDSE34: PCIe Device Security Enhancement Control Register 34 Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST 9
Offset: 38h PDSE38: PCIe Device Security Enhancement Control Register 38 Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST A
Offset: 3Ch PDSE3C: PCIe Device Security Enhancement Control Register 3C Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST B
Offset: 40h PDSE40: PCIe Device Security Enhancement Control Register 40 Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST C
Offset: 44h PDSE44: PCIe Device Security Enhancement Control Register 44 Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST D
Offset: 48h PDSE48: PCIe Device Security Enhancement Control Register 48 Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST E
Offset: 4Ch PDSE4C: PCIe Device Security Enhancement Control Register 4C Init = 0x00000000
Bit R/W Description
31:0 RW DIGEST F
Offset: C0h PDSEC0: PCIe Device Security Enhancement Control Register C0 Init = 0x80010023
Bit R/W Description
31:0 RW PCIe DVSEC (02Eh) Header 1
Offset: C4h PDSEC4: PCIe Device Security Enhancement Control Register C4 Init = 0x02418086
Bit R/W Description
31:0 RW PCIe DVSEC (02Eh) Header 2
Offset: C8h PDSEC8: PCIe Device Security Enhancement Control Register C8 Init = 0x0000002E
Bit R/W Description
31:0 RW PCIe DVSEC (02Eh) Header 3
Offset: CCh PDSECC: PCIe Device Security Enhancement Control Register CC Init = 0x00000100
Bit R/W Description
31:0 RW Authentication Header
Offset: D0h PDSED0: PCIe Device Security Enhancement Control Register D0 Init = 0x01000900
Bit R/W Description
31:0 RW Authentication Capabilities
Offset: D4h PDSED4: PCIe Device Security Enhancement Control Register D4 Init = 0x00000021
Bit R/W Description
31:0 RW Authentication Status
Offset: D8h PDSED8: PCIe Device Security Enhancement Control Register D8 Init = 0x00000000
Bit R/W Description
31:0 R The Last Data of Write Mailbox
Offset: DCh PDSEDC: PCIe Device Security Enhancement Control Register DC Init = 0x00000000
Bit R/W Description
31:27 RW Reserved
26:16 R SRAM Current Write Pointer
15:11 RW Reserved
10:0 RW SRAM Initial Write Pointer
Offset: E0h PDSEE0: PCIe Device Security Enhancement Control Register E0 Init = 0x00000000
Bit R/W Description
31:27 RW Reserved
26:16 R SRAM Current Read Pointer
15:11 RW Reserved
10:0 RW SRAM Initial Read Pointer
Offset: E4h PDSEE4: PCIe Device Security Enhancement Control Register E4 Init = 0x00000000
Bit R/W Description
31:11 RW Reserved
10:0 RW Length of Read Data Mailbox
Offset: E8h PDSEE8: PCIe Device Security Enhancement Control Register E8 Init = 0x00000000
Bit R/W Description
31:0 R Scratch of Host Offset 2CCh Write
Offset: ECh PDSEEC: PCIe Device Security Enhancement Control Register EC Init = 0x00000000
Bit R/W Description
31:0 RW Scratch of Host Offset 2CCh Read
Offset: F0h PDSEF0: PCIe Device Security Enhancement Control Register F0 Init = 0x00000000
Bit R/W Description
31:21 RW Reserved
20 RW 8K FIFO Depth Mode
19 RW Enable Mailbox Read
18 RW Disable Mailbox Write
17 RW Enable SRAM
16 RW Disable PCIe Device Security Enhancement
15:0 RW BMC Interrupt Enable
Offset: F4h PDSEF4: PCIe Device Security Enhancement Control Register F4 Init = 0x00000000
Bit R/W Description
31 R Host Offset 2D8h[1]
30:24 R Reserved
23:16 R DIGEST SEL Write Status
15:0 RW BMC Interrupt Status
Offset: F8h PDSEF8: PCIe Device Security Enhancement Control Register F8 Init = 0x000FFFFF
Bit R/W Description
31:0 RW PDSE Valid bit[31:0]
Offset: FCh PDSEFC: PCIe Device Security Enhancement Control Register FC Init = 0x017F0000
Bit R/W Description
31:0 RW PDSE Valid bit[63:32]
Offset: 10084h GPMCU10084: GPMCU Break Point Configuration Register Init = 0x00000000
Bit R/W Description
31:21 RO Reserved
20 RW pc bp en
0: PC is NOT paused when it reaches pc bp
1: PC is paused when it reaches pc bp
19:17 RO Reserved
16: 2 RW pc bp 16 02
pc bp[16:2]
point for PC
1: 0 RO pc bp 01 00
pc bp[1:0]
always 0
Offset: 10088h GPMCU10088: GPMCU Next Program Counter Register Init = 0x00000000
Bit R/W Description
31:17 RO pc next imem base
15-bit MSBs of instruction memory base byte address
16: 0 RO pc next
next program counter
Offset: 1008Ch GPMCU1008C: GPMCU Current Program Counter Register Init = 0x00000000
Bit R/W Description
31:17 RO pc curr imem base
15-bit MSBs of instruction memory base byte address
16: 0 RO pc curr
current program counter
Offset: 10098h GPMCU10098: GPMCU Interrupt Enable Status Register Init = 0xFFFFFFFF
Bit R/W Description
31: 0 RO int en
interrupt enable bits controlled by instruction DP MCU INTEN
Offset: 1009Ch GPMCU1009C: GPMCU Interrupt Enable Status Register Init = 0x00000000
Bit R/W Description
31: 0 RO int src d2t
interrupt sources viewed by DP MCU
66.2 Features
• Support 32-bit 33 MHz PCI bus interface with PCI 2.3 specification compliant
Offset: 00h PCIS00: Device and Vendor ID Register Init = 0x2000 1A03
Bit R/W Description
31:16 R Device ID
The default setting of this register is 0x2000, which is the device ID code being assigned for
AST2600 VGA. The device ID code of AST2600 VGA is the same as AST2000 VGA. This
arrangement is to make sure that AST2600 VGA can directly run all the graphics display
drivers developed for AST2000 VGA. The content of this register value can be changed by
updating the corresponding register in SCU Controller, but its not recommended in normal
cases.
15:0 R Vendor ID
The default setting of this register is 0x1A03 which is the vendor ID code being assigned
for ASPEED Technology Inc. by PCISIG. The content of this register value can be
changed by updating the corresponding register in SCU Controller, but its not recom-
mended in normal cases.
Offset: 04h PCIS04: Command and Status Register Init = 0x0210 0000
Bit R/W Description
31 R Detected parity error
AST2600 VGA will not detect any parity errors; therefore, this bit will always return ”0”.
30 R Signaled system error
AST2600 VGA will not signal any system errors; therefore, this bit will always return ”0”.
to next page
Offset: 08h PCIS08: Class and Revision ID Register Init = 0x0X00 0050
Bit R/W Description
31:8 R Class code
When VGA Controller is enabled, AST2600 VGA will always return ”0x030000” as the
class code for this register to claim that AST2600 VGA is a tandard VGA device.
When VGA is disabled by an external strapping resistor, AST2600 VGA will return
”0x040000” as the class code of this register to claim that AST2600 VGA is a video device.
As a video device, AST2600 VGA will not decode any VGA command cycles.
7 :0 R Revision ID
This register defines the revision ID of the current working silicon. It will change whenever
a new revision is developed. The revision ID of AST2600 VGA is ”50” for A0. The revision
ID of AST2600 VGA is ”51” for A1 and A2. The revision ID of AST2600 VGA is ”52” for A3.
Offset: 30h PCIS30: Expansion ROM Base Address Register Init = 0x0000 0000
Bit R/W Description
31:0 RW Expansion ROM base address
AST2600 VGA will claim 64KB of memory space allocation for VGA BIOS. When VGA
BIOS is merged with system BIOS, there will be no need to claim any ROM base address.
Under such a condition, this base address claiming can be disabled by an external strap-
ping resistor.
Offset: 40h PCIS40: PCI Power Management Capability Register Init = 0xffc3 5001
Bit R/W Description
31:27 R PME support
AST2600 VGA supports D0, D1, D2, D3hot and D3cold states. Therefore, this register will
always return 0xF.
26 R D2 support
AST2600 supports D2 state; this register will always return ”1”.
25 R D1 support
AST2600 VGA supports D1 state; this register will always return ”1”.
24:22 R Auxiliary current requirement
This register will always return ”111b”. It means that AST2600 VGA requires 375mA from
auxiliary current.
21 R Device specific initialization
AST2600 VGA doesn’t need any special initializations. This register will always return ”0”.
20 Reserved (0)
19 R PME Clock
AST2600 VGA doesn’t need to rely on PCI clock to generate PME#. This register will
always return ”0”.
18:16 R Version
AST2600 VGA complies with PCI Power Management Revision 1.2. Therefore, This reg-
ister will always return ”011b”.
15:8 R Next item pointer
This optional register is used to point to a linked list of new capabilities. AST2600 VGA
uses this register to point to 0x50 to implement Message Signaled Interrupts.
7 :0 R ID
This register will always return ”0x01” to identify that the linked list item as being the PCI
Power Management registers.
Offset: 44h PCIS44: PCI Power Management Control and Status Register Init = 0x0000 0000
Bit R/W Description
31:24 R Data register
This function is not implemented; this register always returns ”0x00”.
23 R Bus power and clock control enable
There is no secondary PCI bus; this register always returns ”0”.
22 R B2/B3 support for D3hot
There is no secondary PCI bus; this register always returns ”0”.
21:16 Reserved (0)
15 RW PME Status
This bit is set when AST2600 VGA would normally assert the PME signal independent of
the state of the PME enable bit. Writing ”1” to this register will cause AST2600 VGA to
stop asserting the PME signal. Writing ”0” to this register has no effect.
to next page
Offset: 58h PCIS58: Message Upper Address Register Init = 0x0000 0000
Bit R/W Description
31:0 RW Message Address bit [63:32]
System-specified message upper address.
When VGA class code is enabled, the class code of ”VGA Device” will be claimed by PCI configuration regis-
ters.
When VGA class code is disabled, the class code of ”Video Device” will be claimed instead.
VGA is an in-band device which should be independent of ARM SOC system. Therefore, it can be reset
only when either PCI bus reset or system power-on reset is asserted. VGA shares a portion of SDRAM
memory for video frame buffer. The size of the shared frame buffer is determined by external strapping re-
sistors. It will always occupy the highest portion of SDRAM memory. The initialization of SDRAM Controller
is done by ARM SOC system. It should be finished well before host platform starting access video frame buffer.
VGA implements several groups of registers, which are listed below, to program the various supported func-
tions. Each register has its own specific legacy address, and an offset value if available. AST2600 also
provides memory-mapped I/O addressing mode for the need of advanced operating systems.
67.2 Features
• Fully IBM VGA compliant
• Maximum Display resolution: 1920x1200@60Hz with 165MHz video clock
• Integrate one deducted PLL for video clock generation which can be directly turned off by ARM CPU for
power saving
• Support VESA DDC
• Support 64x64 hardware overlay cursor with mono and color formats
• RGB analog output
67.3 Registers
Index Range 3 2 1 0
Index 83 - 80 VGA Scratch Register Password
Index 87 - 84 VGA Scratch Register
Index 8B - 88 VGA Scratch Register
Index 8F - 8C VGA Scratch Register
Index 93 - 90 VGA Scratch Register
Index 97 - 94 VGA Scratch Register
Index 9B - 98 VGA Scratch Register
Index 9F - 9C VGA Scratch Register
Index A3 - A0 Color Mode PCI Bus Control
Index A7 - A4 CRT Threshold Segment Adr Misc Control
Index AB - A8 Power-On Strapping RAMDAC Control
Index AF - AC Starting Overflow Vertical Overflow Horizontal Overflow
Index B3 - B0 CRT Counter Read Back Offset Overflow
Index B7 - B4 DDC Control Power Control Reserved (0)
Index BB - B8 PLL Overflow RGB CRC Signature Read Back
Index BF - BC 28MHz PLL 25MHz PLL
Index C3 - C0 Hardware Cursor Offset Video PLL
Index C7 - C4 Hardware Cursor Y Position Hardware Cursor X Position
Index CB - C8 Cursor Mode Hardware Cursor Pattern Address
Index CF - CC Reserved
Index D3 - D0 SOC Scratch Register Read Back
Index D7 - D4 SOC Scratch Register Read Back
Index DC - D8 SOC Scratch Register Read Back
Index DF - DD SOC Scratch Register Read Back
Index E3 - E0 VGA Scratch Register
Index E7 - E4 VGA Scratch Register
Index EB - E8 VGA Scratch Register
Index EF - EC VGA Scratch Register
Index F3 - F0 VGA Scratch Register
Index F7 - F4 VGA Scratch Register
Index FB - F8 VGA Scratch Register
Index FF - FC PLL Control Register
• BitBLT operations: logic operations among source, destination, pattern, and mask
• Font expansion: expanding monochrome bitmaps to color bitmaps
• Line drawing: rendering lines with style option
• Transparent BitBlt: logic transparent operations among source, destination
• Horizontal and vertical Scale: up-scale and down-scale among source, destination
• Alpha Blanding: constrant and source alpha blanding among source, destination
2D Graphics Engine implements a 32-bit registers set, which are listed below, to program the various supported
functions. Some of the registers have different definitions for different 2D graphics commands, especially for
BitBLT command , Transparent BitBlt command , Scale command , Alpha Blanding command and line drawing
command. All these register can be access through PCI memory-mapped I/O cycles regarding to the following
formula.
68.2 Features
• Directly access data through M-Bus
• High performance pipelined one-cycle 64-bit 2D graphics engine
• 2D engine commands
– BitBlt Rectangle Fill
– BitBlt Pattern Fill
– BitBlt Rectangle Copy from Source to Destination
– Support 256 Raster Operations
– Integrate 8x8 Pattern Registers
– Integrate 8x8 Mask Registers
– Support Rectangle Clip
– Support Color Expansion
– Support Enhanced Color Expansion
– Support Line Drawing with Style Pattern
– Support Line Setup
– Transparent BitBlt
– Horizontal and vertical Scale
– YUV to RGB Transform
– Constrant & Source Alpha Blanding
• Programmable 256K/512K/1M/2M off-screen command buffer
• Integrate 32 stages of hardware command queue for 2D command pre-fetch from off-screen memory
space of frame buffer
• Integrate 64x32 source buffer and 64x32 destination buffer to improve 2D engine performance
The range of row pitch of source buffer has to meet the following limitations (number of
bytes):
MODE Value
256 color 0008h∼07F8h
High color 0008h∼0FF8h
True color 0008h∼1FF8h
Offset: 0Ch GER0C: Row Pitch and Height of Destination Buffer Register Init = X
Bit R/W Description
31:30 Reserved (0)
29:19 RW Row pitch of destination buffer bit [13:3]
Row pitch of destination buffer is equal to the width of destination buffer multiplied by
bytes per pixel.
The range of row pitch of destination buffer has to meet the following limitations (number
of bytes):
MODE Value
256 color 0008h∼07F8h
High color 0008h∼0FF8h
True color 0008h∼1FF8h
Offset: 18h GER18: Drawing Width and Drawing Height Register Init = X
Bit R/W Description
31:28 Reserved (0)
27:16 RW Width of destination bitmap bit [11:0]
Width of destination bitmap should be in the range below.
MODE Value
256 color 1∼2040
High color 1∼2044
True color 1∼2046
This register will determine the line style counter to be reset or not when executing a new
line drawing command.
30 RW Enable line drawing command with style pattern
0: Disable (line drawing command without a style pattern)
1: Enable (line drawing command with a style pattern)
29:24 RW Line style period[5:0]
Line style period can be up to 64 points at most.
23 RW End-point rendering control for line drawing commands
0: Disable end-point rendering
1: Enable end-point rendering
22 Line drawing X/Y coordinate format
0: X/Y coordinate is S11.4 format
1: X/Y coordinate is S11.0 format
21 RW X-axis rendering direction control
0: Rendering in positive-X direction
1: Rendering in negative-X direction
20 RW Y-axis rendering direction control
0: Rendering in positive-Y direction
1: Rendering in negative-Y direction
19 RW M-Bus request synchronization for 2D engine idle
0: Disable M-Bus request synchronization
1: Enable M-Bus request synchronization
to next page
ASPEED Confidential All rights reserved. 1464 May 6, 2021
ASPEED AST2600 A3 Datasheet – V0.9
de ED
Transparent
Inversed
1
1
0
1
Graphics R/G/B
NOT Graphics R/G/B
l
ia
69.3.2 Color Cursor Format (ARGB4444 pixel format)
Bit[15:12] : Alpha bit[3:0]
Bit[11:8] : Cursor R bit[3:0]
Bit[7:4] : Cursor G bit[3:0]
nfi E
Bit[3:0] :
nt Cursor B bit[3:0]
• Note:
1. Graphcis R/G/B is the color bit-map decompressed from video stream
Co S
P-Bus: The internal expansion bus supporting bus commands from PCI bus controller
AHB : The internal system bus supporting ARM SOC subsystem
P2A is a one-way bus bridge providing a debug interface for host CPU to access all the internal IP modules
in ARM SOC sub-system. Since P2A is a one-way bridge, ARM CPU cannot issue any PCI bus commands
through the help of this bridge. In a normal condition, this debug interface should be well locked. The two
potential usages of this bus bridge are:
P2A only implements two sets of 32-bit registers to provide a protection mechanism and specify the base
address of the 64KB address re-mapping window.
P2A will convert all the commands from P-bus with 64KB address range from (MMIOBASE
+ 0x10000) to (MMIOBASE + 0x1FFFF). Where MMIOBASE is the re-locatable memory-
mapped I/O base address defined in PCI configuration space. P2A supports byte, word or
double word type of access commands.
15:0 Reserved (0)
71.2 Features
• 2 exclusive interrupt types: INTx and MSI.
• Total 22 interrupt sources from 5 devices.
• 1 of 22 sources is controlled by APB
71.3 Operation
71.3.1 Interrupt Table
Interrupt sources from VGA Device
INT# Description
0 VGA Interrrupt
1 2D Interrupt
2 X-DMA Interrupt (If BMC device is not enabled)
3 APB Controlled Interrupt (SCU18[6])(If BMC device is not enabled)
INT# Description
0 X-DMA Interrupt
1 APB Controlled Interrupt (SCU18[6])
Message Control[6:4]
000b 001b 010b or others
INT0 MSG D[15:0] MSG D[15:0] MSG D[15:0]
INT1 MSG D[15:0] MSG D[15:0] + 1 MSG D[15:0] +1
INT2 MSG D[15:0] MSG D[15:0] MSG D[15:0] +2
INT3 MSG D[15:0] MSG D[15:0] + 1 MSG D[15:0] +3
Message Control[6:4]
000b 001b or others
INT0 MSG D[15:0] MSG D[15:0]
INT1 MSG D[15:0] MSG D[15:0] + 1
Message Control[6:4]
all
INT0 MSG D[15:0]
Message Control[6:4]
all
INT0 MSG D[15:0]
Message Control[6:4]
000b 001b 010b 011b 100b or others
INT0 MSG D[15:0] MSG D[15:0] MSG D[15:0] MSG D[15:0] MSG D[15:0]
INT1 MSG D[15:0] MSG D[15:0] + 1 MSG D[15:0] + 1 MSG D[15:0] + 1 MSG D[15:0] + 1
INT2 MSG D[15:0] MSG D[15:0] MSG D[15:0] + 2 MSG D[15:0] + 2 MSG D[15:0] + 2
INT3 MSG D[15:0] MSG D[15:0] + 1 MSG D[15:0] + 3 MSG D[15:0] + 3 MSG D[15:0] + 3
INT4 MSG D[15:0] MSG D[15:0] MSG D[15:0] MSG D[15:0] + 4 MSG D[15:0] + 4
INT5 MSG D[15:0] MSG D[15:0] + 1 MSG D[15:0] + 1 MSG D[15:0] + 5 MSG D[15:0] + 5
INT6 MSG D[15:0] MSG D[15:0] MSG D[15:0] + 2 MSG D[15:0] + 6 MSG D[15:0] + 6
INT7 MSG D[15:0] MSG D[15:0] + 1 MSG D[15:0] + 3 MSG D[15:0] + 7 MSG D[15:0] + 7
INT8 MSG D[15:0] MSG D[15:0] MSG D[15:0] MSG D[15:0] MSG D[15:0] + 8
INT9 MSG D[15:0] MSG D[15:0] + 1 MSG D[15:0] + 1 MSG D[15:0] + 1 MSG D[15:0] + 9
INT10 MSG D[15:0] MSG D[15:0] MSG D[15:0] + 2 MSG D[15:0] + 2 MSG D[15:0] + 10
INT11 MSG D[15:0] MSG D[15:0] + 1 MSG D[15:0] + 3 MSG D[15:0] + 3 MSG D[15:0] + 11
INT12 MSG D[15:0] MSG D[15:0] MSG D[15:0] MSG D[15:0] + 4 MSG D[15:0] + 12
INT13 MSG D[15:0] MSG D[15:0] + 1 MSG D[15:0] + 1 MSG D[15:0] + 5 MSG D[15:0] + 13
INT14 MSG D[15:0] MSG D[15:0] MSG D[15:0] + 2 MSG D[15:0] + 6 MSG D[15:0] + 14
INT15 MSG D[15:0] MSG D[15:0] + 1 MSG D[15:0] + 3 MSG D[15:0] + 7 MSG D[15:0] + 15
72.2 Features
• Support 32-bit 33 MHz PCI bus interface with PCI 2.3 specification compliant
• Support PME# control pin
Offset: 00h PCIB00: Device and Vendor ID Register Init = 0x2402 1A03
Bit R/W Description
31:16 R Device ID
The default setting of this register is 0x2402, which is the device ID code being assigned
for AST2600 BMC device. The content of this register value can be changed by updating
the corresponding register in SCU Controller, but its not recommended in normal cases.
15:0 R Vendor ID
The default setting of this register is 0x1A03 which is the vendor ID code being assigned
for ASPEED Technology Inc. by PCISIG. The content of this register value can be
changed by updating the corresponding register in SCU Controller, but its not recom-
mended in normal cases.
Offset: 04h PCIB04: Command and Status Register Init = 0x0210 0000
Bit R/W Description
31 R Detected parity error
AST2600 BMC device will not detect any parity errors; therefore, this bit will always return
”0”.
30 R Signaled system error
AST2600 BMC device will not signal any system errors; therefore, this bit will always return
”0”.
to next page
ASPEED Confidential All rights reserved. 1477 May 6, 2021
ASPEED AST2600 A3 Datasheet – V0.9
Offset: 08h PCIB08: Class and Revision ID Register Init = 0x0000 0000
Bit R/W Description
31:8 R Class code
The defalut value is 0. Because PCI-SIG didn’t define the BMC device class code, the
BMC firmware should program the desired class code for BMC device before host boot
up. The content of this register value can be changed by updating the corresponding
register in SCU Controller.
7 :0 R Revision ID
This register defines the revision ID of the current working silicon. It will change whenever
a new revision is developed. The default revision ID of AST2600 BMC device is ”00”.
Offset: 40h PCIB40: PCI Power Management Capability Register Init = 0xffc3 5001
Bit R/W Description
31:27 R PME support
AST2600 BMC device supports D0, D1, D2, D3hot and D3cold states. Therefore, this
register will always return 0xF.
26 R D2 support
AST2600 supports D2 state; this register will always return ”1”.
25 R D1 support
AST2600 BMC device supports D1 state; this register will always return ”1”.
to next page
Offset: 44h PCIB44: PCI Power Management Control and Status Register Init = 0x0000 0000
Bit R/W Description
31:24 R Data register
This function is not implemented; this register always returns ”0x00”.
23 R Bus power and clock control enable
There is no secondary PCI bus; this register always returns ”0”.
22 R B2/B3 support for D3hot
There is no secondary PCI bus; this register always returns ”0”.
21:16 Reserved (0)
15 RW PME Status
This bit is set when AST2600 BMC device would normally assert the PME signal indepen-
dent of the state of the PME enable bit. Writing ”1” to this register will cause AST2600
BMC device to stop asserting the PME signal. Writing ”0” to this register has no effect.
14:13 R Data scale
AST2600 BMC device doesn’t implement Data register; this register always returns ”00b”.
12:9 RW Data select
AST2600 BMC device doesn’t implement Data register; this register always returns
”0000b”.
8 RW PME enable
0: Disable PME assertion
1: Enable PME assertion
7 :4 Reserved (0)
3 R No soft reset
This register always returns ”0”.
2 Reserved (0)
1 :0 RW Power state
These two bits are used both to determine the current power state of AST2600 BMC
device and to set AST2600 BMC device into a new power state. AST2600 BMC processor
will not be controlled by this register.
Offset: 58h PCIB58: Message Upper Address Register Init = 0x0000 0000
Bit R/W Description
31:0 RW Message Address bit [63:32]
System-specified message upper address.
Base address of EHCI Host Controller Registers = (PCI Configuration Space offset 0x10-0x13)
Base address for Read from AHB Bus = 0x1E6A 1800
Offset: 00h PCIEHCI00: Device and Vendor ID Register Init = 0x2603 1A03
Bit R/W Description
31:16 RO Device ID
The default setting of this register is 0x2603, which is the device ID code being assigned
for AST2600 PCIe EHCI device. The content of this register value can be changed by
updating the corresponding register [23:16] in SCUC64[7:0], but its not recommended in
normal cases.
15:0 RO Vendor ID
The default setting of this register is 0x1A03 which is the vendor ID code being as-
signed for ASPEED Technology Inc. by PCISIG. The content of this register value can
be changed by updating the corresponding register in SCUC00[15:0], but its not recom-
mended in normal cases.
Offset: 08h PCIEHCI08: Class and Revision ID Register Init = 0x0C03 2000
Bit R/W Description
31:8 RO Class code
This register contains the device programming interface information related to the Sub-
Class Code and Base Class Code definition. Base Class Code [31:24]. 0Ch = Serial
Bus Controller. Sub-Class Code [23:16]. 03h = Universal Serial Bus Host Controller.
Programming Interface [15:8]. 20h = USB 2.0 Host Controller.
7 :0 RO Revision ID
This register defines the revision ID of the current working silicon. It will change whenever
a new revision is developed. The default revision ID of AST2600 PCIe EHCI device is ”00”.
Offset: 40h PCIEHCI40: PCI Power Management Capability Register Init = 0xffc3 5001
Bit R/W Description
31:27 RO PME support
AST2600 PCIe EHCI device supports D0, D1, D2, D3hot and D3cold states. Therefore,
this register will always return 0xF.
26 RO D2 support
AST2600 supports D2 state; this register will always return ”1”.
25 RO D1 support
AST2600 PCIe EHCI device supports D1 state; this register will always return ”1”.
24:22 RO Auxiliary current requirement
This register will always return ”111b”. It means that AST2600 PCIe EHCI device requires
375mA from auxiliary current.
21 RO Device specific initialization
AST2600 PCIe EHCI device doesn’t need any special initializations. This register will
always return ”0”.
20 RO Reserved (0)
19 RO PME Clock
AST2600 PCIe EHCI device doesn’t need to rely on PCI clock to generate PME#. This
register will always return ”0”.
18:16 RO Version
AST2600 PCIe EHCI device complies with PCI Power Management Revision 1.2. There-
fore, This register will always return ”011b”.
15:8 RO Next item pointer
This optional register is used to point to a linked list of new capabilities. AST2600 PCIe
EHCI device uses this register to point to 0x50 to implement Message Signaled Interrupts.
7 :0 RO ID
This register will always return ”0x01” to identify that the linked list item as being the PCI
Power Management registers.
Offset: 44h PCIEHCI44: PCI Power Management Control and Status Register Init = 0x0000 0000
Bit R/W Description
31:24 RO Data register
This function is not implemented; this register always returns ”0x00”.
to next page
Offset: 58h PCIEHCI58: Message Upper Address Register Init = 0x0000 0000
Bit R/W Description
31:0 RW Message Address bit [63:32]
System-specified message upper address.
Frame Length
(# High Speed bit times) FLADJ Value
(decimal) (decimal)
59488 0 (00h)
59504 1 (01h)
59520 2 (02h)
...
59984 31 (1Fh)
60000 32 (20h)
...
60480 62 (3Eh)
60496 63 (3Fh)
7 :0 RO Serial Bus Release Number
Release 2.0.
Offset: 68h PCIEHCI68: USB Legacy Support Extended Capability Register Init = 0x0000 0001
Bit R/W Description
31:25 RO Reserved (0)
24 RW HC OS Owned Semaphore
0 = Default. System software sets this bit to request ownership of the EHCI controller.
Ownership is obtained when this bit reads as one and the HC BIOS Owned Semaphore
bit reads as zero.
23:17 RO Reserved (0)
16 RW HC BIOS Owned Semaphore
0 = Default. The BIOS sets this bit to establish ownership of the EHCI controller. System
BIOS will set this bit to a zero in response to a request for ownership of the EHCI controller
by system software.
15:8 RO Next EHCI Extended Capability Pointer
This field points to the PCI configuration space offset of the next extended capability
pointer. A value of 00h indicates the end of the extended capability list.
7:0 RO Capability ID
A value of 01h identifies the capability as Legacy Support.
Offset: 6Ch PCIEHCI6C: USB Legacy Support Control/Status Init = 0x0000 0000
Bit R/W Description
31 RW1C SMI on BAR
0 = Default. This bit is set to one whenever the Base Address Register PCIEHCI10 is
written.
30 RW1C SMI on PCI Command
0 = Default. This bit is set to one whenever the PCI Command Register is written.
29 RW1C SMI on OS Ownership Change
0 = Default. This bit is set to one whenever the PCIEHCI68[24] bit transitions from 1 to a
0 or 1 to a 1.
28:22 RO Reserved (0)
21 RO SMI on Async Advance
0 = Default. Shadow bit of BEHCI24[5].
To set this bit to a zero, system software must write a one to BEHCI24[5].
20 RO SMI on Host System Error
0 = Default. Shadow bit of BEHCI24[4].
To set this bit to a zero, system software must write a one to BEHCI24[4].
19 RO SMI on Frame List Rollover
0 = Default. Shadow bit of BEHCI24[3].
To set this bit to a zero, system software must write a one to BEHCI24[3].
18 RO SMI on Port Change Detect
0 = Default. Shadow bit of BEHCI24[2].
To set this bit to a zero, system software must write a one to BEHCI24[2].
17 RO SMI on USB Error
0 = Default. Shadow bit of BEHCI24[1].
To set this bit to a zero, system software must write a one to BEHCI24[1].
16 RO SMI on USB Complete
0 = Default. Shadow bit of BEHCI24[0].
To set this bit to a zero, system software must write a one to BEHCI24[0].
15 RW SMI on BAR Enable
0 = Default. When this bit is one and SMI on BAR is one, then the host controller will issue
an SMI.
to next page
0: The first N PCC ports are routed to the lowest numbered function companion host
controller, the next N PCC port are routed to the next lowest function companion
controller, and so on.
1: The port routing is explicitly enumerated by the first N PORTS elements of the HCSP-
PORTROUTE array.
If set to a one, then system software can specify and use a smaller frame list and
configure the host controller via the USBCMD register Frame List Size field. The frame
list must always be aligned on a 4K page boundary. This requirement ensures that the
frame list is always physically contiguous.
0 RO 64-bit Addressing Capability
0: data structures using 32-bit address memory pointers
1: data structures using 64-bit address memory pointers
Offset: 0Ch-1Ch BEHCI0C: Companion Port Route Description (HCSP-PORTROUTE) Init = 0x0
Bit R/W Description
159:0 RO Reserved (0)
When software writes a one to this bit, the Host Controller resets its internal pipelines,
timers, counters, state machines, etc. to their initial value. Any transaction currently in
progress on USB is immediately terminated. A USB reset is not driven on downstream
ports.
PCI Configuration registers are not affected by this reset. All operational registers,
including port registers and port state machines are set to their initial values. Port
ownership reverts to the companion host controller(s). Software must reinitialize the host
controller in order to return the host controller to an operational state.
This bit is set to zero by the Host Controller when the reset process is complete.
Software cannot terminate the reset process early by writing a zero to this register.
Software should not set this bit to a one when the HCHalted bit in the USBSTS register
is a zero. Attempting to reset an actively running host controller will result in undefined
behavior.
0 RW Run/Stop (RS)
0=Stop.
1=Run.
When set to a 1, the Host Controller proceeds with execution of the schedule. The Host
Controller continues execution as long as this bit is set to a 1. When this bit is set to 0, the
Host Controller completes the current and any actively pipelined transactions on the USB
and then halts. The Host Controller must halt within 16 micro-frames after software clears
the Run bit. The HC Halted bit in the status register indicates when the Host Controller has
finished its pending pipelined transactions and has entered the stopped state. Software
must not write a one to this field unless the host controller is in the Halted state (i.e.
HCHalted in the USBSTS register is a one). Doing so will yield undefined results.
Offset: 34h BEHCI34: Periodic Frame List Base Address Register (PERIODICLISTBASE) Init = X
Bit R/W Description
31:12 RW Base Address
These bits correspond to memory address signals [31:12], respectively.
11:0 RO Reserved (0)
Offset: 38h BEHCI38: Current Asynchronous List Address Register (ASYNCLISTADDR) Init = X
Bit R/W Description
31:5 RW Link Pointer Low (LPL)
These bits correspond to memory address signals [31:5], respectively. This field may only
reference a Queue Head (QH).
4:0 RO Reserved (0)
0: Port routing control logic default-routes each port to an implementation dependent clas-
sic host controller.
1: Port routing control logic default-routes all ports to this host controller.
Offset: 64h BEHCI64: Port1 Status/Control Register (PORTSC1) Init = 0x0000 3000
31:22 RO Reserved (0)
21 RW Wake on Disconnect Enable (WKDSCNNT E)
Writing this bit to a one enables the port to be sensitive to device disconnects as wake-up
events.
20 RW Wake on Connect Enable (WKCNNT E)
Writing this bit to a one enables the port to be sensitive to device connects as wake-up
events. See Section 4.3 for effects of this bit on resume event behavior. Refer to Section
4.3.1 for operational model.
19:14 RO Reserved (0)
13 RW Port Owner
This bit unconditionally goes to a 0b when the Configured bit in the CONFIGFLAG register
makes a 0b to 1b transition. This bit unconditionally goes to 1b whenever the Configured
bit is zero.
System software uses this field to release ownership of the port to a selected host con-
troller (in the event that the attached device is not a high-speed device). Software writes
a one to this bit when the attached device is not a high-speed device. A one in this bit
means that a companion host controller owns and controls the port.
12 RO Reserved (1)
11:10 RO Line Status
These bits reflect the current logical levels of the D+ (bit 11) and D- (bit 10) signal lines.
These bits are used for detection of low-speed USB devices prior to the port reset and
enable sequence. This field is valid only when the port enable bit is zero and the current
connect status bit is set to a one.
The encoding of the bits are:
Bits[11:10] USB State Interpretation
00b SE0 Not Low-speed device, perform EHCI reset
10b J-state Not Low-speed device, perform EHCI reset
01b K-state Low-speed device, release ownership of port
11b Undefined Not Low-speed device, perform EHCI reset.
9 RO Reserved (0)
8 RW Port Reset
0: Port is not in Reset.
1: Port is in Reset.
When software writes a one to this bit (from a zero), the bus reset sequence as defined in
the USB Specification Revision 2.0 is started. Software writes a zero to this bit to termi-
nate the bus reset sequence. Software must keep this bit at a one long enough to ensure
the reset sequence, as specified in the USB Specification Revision 2.0, completes. Note:
when software writes this bit to a one, it must also write a zero to the Port Enable bit.
Note that when software writes a zero to this bit there may be a delay before the bit status
changes to a zero. The bit status will not read as a zero until after the reset has com-
pleted. If the port is in high-speed mode after reset is complete, the host controller will
automatically enable this port (e.g. set the Port Enable bit to a one). A host controller
must terminate the reset and stabilize the state of the port within 2 milliseconds of soft-
ware transitioning this bit from a one to a zero. For example: if the port detects that the
attached device is high-speed during reset, then the host controller must have the port in
the enabled state within 2ms of software writing this bit to a zero.
The HCHalted bit in the USBSTS register should be a zero before software attempts to
use this bit. The host controller may hold Port Reset asserted to a one when the HCHalted
bit is a one.
7 RW Suspend
0: Port not in suspend state.
1: Port in suspend state.
Port Enabled Bit and Suspend bit of this register define the port states as follows:
Bits [Port Enabled, Suspend] Port State
0X Disable
10 Enable
11 Suspend
When in suspend state, downstream propagation of data is blocked on this port, except
for port reset. The blocking occurs at the end of the current transaction, if a transaction
was in progress when this bit was written to 1. In the suspend state, the port is sensitive
to resume detection. Note that the bit status does not change until the port is suspended
and that there may be a delay in suspending a port if there is a transaction currently in
progress on the USB.
A write of zero to this bit is ignored by the host controller. The host controller will
unconditionally set this bit to a zero when:
• Software sets the Force Port Resume bit to a zero (from a one).
• Software sets the Port Reset bit to a one (from a zero).
If host software sets this bit to a one when the port is not enabled (i.e. Port enabled bit is
a zero) the results are undefined.
Offset: 80h BEHCI80: (AHB Only)Frame Length Adjustment Register (FLADJ) Init = 0x0000 0020
Bit R/W Description
31:30 RO PCIe bus DMA Error Status
This is a debug status.
29:6 RO Reserved (0)
5:0 RO Frame Length Timing Value
Each decimal value change to this register corresponds to 16 high-speed bit times. The
SOF cycle time (number of SOF counter clock periods to generate a SOF micro-frame
length) is equal to 59488 + value in this field. The default value is decimal 32 (20h), which
gives a SOF cycle time of 60000.
Frame Length
(# High Speed bit times) FLADJ Value
(decimal) (decimal)
59488 0 (00h)
59504 1 (01h)
59520 2 (02h)
...
59984 31 (1Fh)
60000 32 (20h)
...
60480 62 (3Eh)
60496 63 (3Fh)
Offset: 84h BEHCI84: (AHB Only)Controller Fine-tune Register Init = 0x0000 0A47
Bit R/W Description
31:21 RO Reserved (0)
20 RW Clear DMA Error Status
19:12 RW Insert wait delay between IN transactions with Mult > 1
Inserted wait time = UsbClock * delay * 2.
11 RW Enable support 64 bit address mode
This bit value reflect to HCCPARAMS bit[0].
10 RW Enable FIFO auto power down
0: Disable (default)
1: Enable
9 RW Reserved
8 RW High speed Isochronous IN MaxPacketSize selection
0 : MaxPacketSize is determined by Transaction X Length or Maximum Packet Size
(whichever is less). 1 : MaxPacketSize is determined by Maximum Packet Size field.
7:6 RW Transmit FIFO Threshold
00 : 128 bytes
01 : 256 bytes
10 : 512 bytes
11 : 768 bytes
5:2 RW Isochronous Scheduling Threshold
This field value reflect to HCCPARAMS bit[7:4].
1 RW Asynchronous Schedule Park Capability
This bit value reflect to HCCPARAMS bit[2].
to next page
Offset: 8Ch BEHCI8C: (AHB Only)Hardware Revision Number Register Init = 0x0000 0002
Bit R/W Description
31:8 RO Reserved (0)
7:0 RO Hardware revision number
74.1 Overview
The Host processor accesses the BMC memory using the memory allocated by the Host System BIOS for the
two memory BARs exposed by this function. The BAR0 is used by the HOST to access the BMC memory.
The BAR1 is used to access the messaging queues between the HOST and BMC. Please note that the host
to bmc device supports only 4byte aligned memory accesses.