PS High-Speed Connectivity Clocking and Reset Subsystem - PS High-Speed Connectivity Clocking and Reset Subsystem - AM026

Versal AI Edge Series Gen 2 and Prime Series Gen 2 Technical Reference Manual (AM026)

Document ID
AM026
Release Date
2025-12-23
Revision
1.3 English

Introduction

The High-Speed Connectivity clocking and reset system generates clocks and Resets for the peripherals, interconnect, and other system elements. There are two system PLLs to generate high-frequency signals that are used as clock sources for the several clock generators in MMI.

System PLL Units

There are two PLL in the High-Speed Connectivity Module. Each PLL has suggested usage:

  • MMI PLL: There are two modes for this PLL which generates clocks for different Subsystems
    • Normal Mode: Provides Core clock to GPU Subsystem and MMI Debug Clock. Display Controller will use clocks from PL
    • DC Internal Mode: Provides Video clock and Timestamp clock to Display Controller and MMI Debug Clock. GPU will use the PS_AXI_DMA_CLK.
  • UDH PLL: Provides clock to USB and DisplayPort Subsystems.

Refer to the following figure for the PS High-Speed Connectivity clock diagram that shows the two PLL and internal muxes that generate various clocks to the peripherals.

Figure 1. PS High-Speed Connectivity Clock Diagram

The following table shows the PS High-Speed Connectivity peripheral clock frequency (at 2MP speedgrade) generated by the 2 PLLs.

Table 1. PS High-Speed Connectivity PLL clocks
Clock Name Target Frequency (MHz) at 2MP Selected PLL sources
10GbE 1G    
ip_cmt_pspll_clkout1_gem (loopback) 62.5 MMI PLL
10GbE 2.5G    
ip_cmt_pspll_clkout1_gem (loopback) 156.25 MMI PLL
10GbE 5G    
ip_cmt_pspll_clkout1_gem (loopback) 78.125 MMI PLL
10GbE 10G    
ip_cmt_pspll_clkout1_gem (loopback) 156.25 MMI PLL
PCIe    
ip_cmt_pspll_clkout1_pcie (intercore loopback) 1000 MMI PLL
MEMCLEAR    
ip_cmt_pspll_clkout1_gem 900 MMI PLL
ip_cmt_pspll_clkout1_pcie 1000 MMI PLL
USB    
USB3_ref_clk 24 External Reference
USB2_ref_clk 24 MMI UDHPLL
dp_aux_clk 16 MMI UDHPLL
DP/DC    
Pixel_clk (DC_INTERNAL) 594 MMI PLL
I2S_clk(DC_INTERNAL) 12.288 1 MMI UDHPLL
27m_ref_clk(DC_EXTERNAL) 27 MMI UDHPLL
27m_ref_clk(DC_INTERNAL) 27 MMI PLL
GPU    
gpu_pll_clk (DC_EXTERNAL) 900 MMI PLL
  1. In DC_INTERNAL mode, audio operates in 64-bit mode, 64x sampling frequency (fs) at 192KHz so frequency is 64x192KHz = 12.288 MHz.

System Resets

The High-Speed Connectivity module has two pin level reset and several register level block resets. The reset sequences are divied into three functional areas.

  • The power-on reset sequence.
  • The management of other signals in the system to trigger system reset.
  • The ability (in software) to reset each individual functional unit.

Clock Programming

System PLL Operation

The voltage-controlled oscillator (VCO) in the PLL synthesizes the output frequency based on the feedback multiplier. The VCO supports both fractional and integer multipliers. The fractional mode is enabled by setting PLL_FRAC_CFG[ENABLED] to 1.

The VCO output frequency (FVCO) is determined using the following equation.

FVCO = FREFCLK x M.F

In this equation, the FREFCLK is an input reference clock frequency, M is the integer part of the multiplier value, and F is the fractional part.

The output frequency (FCLKOUT), after the divider stage, is determined by the following equation.

FCLKOUT = FVCO/O

In this equation, O is the 10-bit output divider

PLL Programming Sequence

  1. Program FBDIV and CLKOUTDIV in MMIPLL_CTRL Register
  2. Program Helper Data for MMIPLL_CFG using the helper data in Helper Data Table
  3. Assert Bypass
  4. Assert Reset. This is when the values of FBDIV and CLKOUTDIV captured into PLL
  5. De-assert Reset
  6. Check for LOCK. Wail until PLL_STATUS[LOCK] = 1
  7. De-assert Bypass
  8. Program divider by programming DIVISOR0 field of Clock Generator Control registers.

PLL Integer Divide Helper Data Table

For each unique value multiplier value, program the PLLs using registers in the MMI_CRX and MMI_UDH_PLL register sets. Each of the two PLLs have a set of integer programming parameters:

  • {MMI, UDH}_PLL_CFG[CP]
  • {MMI, UDH}_PLL_CFG[RES]
  • {MMI, UDH}_PLL_CFG[LFHF]
  • {MMI, UDH}_PLL_CFG[LOCK_DLY]
  • {MMI, UDH}_PLL_CFG[LOCK_CNT]

The helper data values provides the PLL configuration register programming values when the PLL is in integer mode.

Table 2. PLL Integer Divide Helper Data Table
FBDIV CP RES LFHF LOCK_DLY LOCK_CNT
25 3 10 3 63 1000
26 3 10 3 63 1000
27 4 6 3 63 1000
28 4 6 3 63 1000
29 4 6 3 63 1000
30 4 6 3 63 1000
31 6 1 3 63 1000
32 6 1 3 63 1000
33 4 10 3 63 1000
34 5 6 3 63 1000
35 5 6 3 63 1000
36 5 6 3 63 1000
37 5 6 3 63 1000
38 5 6 3 63 975
39 3 12 3 63 950
40 3 12 3 63 925
41 3 12 3 63 900
42 3 12 3 63 875
43 3 12 3 63 850
44 3 12 3 63 850
45 3 12 3 63 825
46 3 12 3 63 800
47 3 12 3 63 775
48 3 12 3 63 775
49 3 12 3 63 750
50 3 12 3 63 750
51 3 2 3 63 725
52 3 2 3 63 700
53 3 2 3 63 700
54 3 2 3 63 675
55 3 2 3 63 675
56 3 2 3 63 650
57 3 2 3 63 650
58 3 2 3 63 625
59 3 2 3 63 625
60 3 2 3 63 625
61 to 82 3 2 3 63 600
83 to 102 4 2 3 63 600
103 5 2 3 63 600
104 5 2 3 63 600
105 5 2 3 63 600
106 5 2 3 63 600
107 to 125 3 4 3 63 600

Clock Configuration Register Overview

System PLL Control Registers

Table 3. PLL Control Register Table
Register Name Reset value and Address offset Register Parameter Reset State
MMIPLL_CTRL

0001_2C09 h,

0xC00040

[RESET]

[BYPASS]

[FBDIV]

[DIV2]

[PRE_SRC]

[POST_SRC]

Held in reset.

Bypass enabled.

48 h.

Divide by 2.

PS_REF_CLK.

PS_REF_CLK.

UDH_PLL_CTRL

0001_4809 h,

0xE90040

[RESET]

[BYPASS]

[FBDIV]

[DIV2]

[PRE_SRC]

Held in reset.

Bypass enabled.

48 h.

Divide by 2.

PS_REF_CLK.

Table 4. Clock Generator Control Register Table
Register Reset Value, Register Set and Address Offset Register Parameter Reset State
MMI_GPU_REF_CTRL

0200_2500 h,

MMI_CRX,

0xc00100

[DIVISOR0]:

[CLKACT]:

25 h.

Enabled.

MMI_DBG_REF_CTRL

0000_2500 h,

MMI_CRX,

0xC00104

[DIVISOR0]:

[CLKACT]:

25 h

Disabled

MMI_AUX0_REF_CTRL

0200_2500 h,

MMI_CRX,

0xC00110

[DIVISOR0]:

[CLKACT]:

25 h.

Enabled.

MMI_AUX1_REF_CTRL

0200_2500 h,

MMI_CRX,

0xC00114

[DIVISOR0]:

[CLKACT]:

25 h.

Enabled.

USB2PHY_REF_CLK_CTRL

0000_2500 h,

MMI_UDH_PLL,

0xE90100

[DIVISOR0]:

[RESET_DIV]:

25 h.

Not in Reset

DP_AUX_CLK_CTRL

0200_2500 h,

MMI_UDH_PLL,

0xE90108

[DIVISOR0]:

[CLKACT]:

25 h.

Enabled.

DC_27M_CLK_CTRL

0200_2500 h,

MMI_UDH_PLL,

0xE9010C

[DIVISOR0]:

[CLKACT]:

25 h.

Enabled.

SOCDMA_CLK_CTRL

0200_2500 h,

MMI_UDH_PLL,

0xC00110

[DIVISOR0]:

[CLKACT]:

25 h.

Enabled.

Reset Configuration Register Overview

The following table describes the registers that can be used to configure resets for different peripherals.

Table 5. Configuration Register Table
Register Name Register Field Description
RST_GPU

RESET

RECOV_RESET

Software control register for GPU block.

RECOV_RESET: Reset entire GPU system except system error registers

Reset when asserted to 1, and the reset pulse must be a minimum of 32 GPU clock cycles

RST_PCIE_GEM SS_CFG_POR

Software control register for PCIeGEM subsystem.

Reset when asserted to 1 and only reset during POR.

RST_PCIE0

RESET

PER_RESET

Software control register for PCIe0 reset.

Block will be reset when asserted to 1

RST_PCIE1

RESET

PER_RESET

Software control register for PCIe1 reset.

PER_RESET: This reset is shared with Aurora HSDP, when Aurora is enabled, this reset must be de-asserted to reset GT.

Reset when asserted to 1.

RST_GEM

CFG_RESET

TSU_RESET

RESET

Software control register for GEM resets.

CFG_RESET: This reset clears all the registers to default reset values.

TSU_RESET: This reset clears only TSU related registers to default reset values.

RESET: This raw resets the internal 10GbE sub-blocks, such as MAC, PCS, DMA. Registers are not cleared, and configuration is retained.

Reset when asserted to 1.

RST_DC

SS_CFG_POR

RESET

Software control register for DC reset.

SS_CFG_POR: DC subsystem is reset when asserted to 1 and only reset during POR.

RST_UDH

SS_CFG_POR

TRNG2HDCP_RESET

TRNG_RESET

HDCPRAM_RESET

USB2_RESET

USB3_RESET

DRD_RESET

AUX_RESET

DP_RESET

Software control register for UDH resets.

SS_CFG_POR: UDH Subsystem is reset when asserted to 1 and only reset during POR.

RST_GTY

RESET1

RESET2

RESET3

Software control register for GT.

Reset when asserted to 1 and only reset during POR.

RST_DBG RESET

Software control register for SoC debug logic.

Reset when asserted to 1 and only reset during POR.

RST_SYSMON

SEQ_RST

CFG_RST

Software control register for MMI SYSMON.

SEQ_RST: All configuration is preserved, only sequence is lost (less inclusive).

CFG_RST: eFuse preserved, APB configuration is preserved, and sequence is lost (more inclusive).