PIR (DDR_PHY) Register

Zynq UltraScale+ Devices Register Reference (UG1087)

Document ID
UG1087
Release Date
2024-03-13
Revision
1.10

PIR (DDR_PHY) Register Description

Register NamePIR
Offset Address0x0000000004
Absolute Address 0x00FD080004 (DDR_PHY)
Width32
TypemixedMixed types. See bit-field details.
Reset Value0x00000000
DescriptionPHY Initialization Register

PIR (DDR_PHY) Register Bit-Field Summary

Field NameBitsTypeReset ValueDescription
Reserved31roRead-only0x0Return zeroes on reads.
ZCALBYP30wtcReadable, write a 1 to clear0x0Impedance Calibration Bypass: Bypasses or stops, if set, impedance
calibration of all ZQ control blocks that automatically triggers after reset.
Impedance calibration may be triggered manually using INIT and ZCAL
bits of the PIR register.
This bit is self-clearing.
Note: The impedance calibration is stopped immediately. However, DFI
control/PHY update requests will continue to be processed. ZCTRL
override does not work in this mode.
DCALPSE29wtcReadable, write a 1 to clear0x0Digital Delay Line (DDL) Calibration Pause: Pauses or halts, if set, DDL
calibration. Clearing this bit will restart DDL calibrations. DDL
calibration may be triggered manually using INIT and DCAL bits of the
PIR register.
This bit should be set to 0 during DFI low power operation.
Reserved28:21roRead-only0x0Return zeroes on reads.
DQS2DQ20rwNormal read/write0x0Write DQS2DQ training: Executes a PUB training routine that
compensates the clock tree delay (tDQS2DQ) in memory devices
RDIMMINIT19rwNormal read/write0x0RDIMM Initialization: Executes the RDIMM buffer chip initialization
before executing DRAM initialization. The RDIMM buffer chip
initialization is run after the DRAM is reset and CKE have been driven
high by the DRAM initialization sequence
CTLDINIT18rwNormal read/write0x0Controller DRAM Initialization: Indicates if set that DRAM initialization
will be performed by the controller. Otherwise if not set it indicates that
DRAM initialization will be performed using the built-in initialization
sequence or using software through the configuration port.
VREF17rwNormal read/write0x0VREF training: Executes a PUB training routine for DRAM and HOST
DQ I/O VREF values to enhance the write and read eye position.
WREYE15rwNormal read/write0x0Write Data Eye Training: Executes a PUB training routine to maximize
the write data eye.
RDEYE14rwNormal read/write0x0Read Data Eye Training: Executes a PUB training routine to maximize
the read data eye.
WRDSKW13rwNormal read/write0x0Write Data Bit Deskew: Executes a PUB training routine to deskew the
DQ bits during write.
RDDSKW12rwNormal read/write0x0Read Data Bit Deskew: Executes a PUB training routine to deskew the
DQ bits during read.
WLADJ11rwNormal read/write0x0Write Leveling Adjust: Executes a PUB training routine that re-adjusts
the write latency used during write in case the write leveling routine
changed the expected latency.
QSGATE10rwNormal read/write0x0Read DQS Gate Training: Executes a PUB training routine to determine
the optimum position of the read data DQS strobe for maximum system
timing margins.
WL 9rwNormal read/write0x0Write Leveling: Executes a PUB write leveling routine.
DRAMINIT 8rwNormal read/write0x0DRAM Initialization: Executes the DRAM initialization sequence.
DRAMRST 7rwNormal read/write0x0DRAM Reset Issues a reset to the DRAM (by driving the DRAM reset
pin low) and wait 200us. This can be triggered in isolation or with the full
DRAM initialization (DRAMINIT). For the later case, the reset is issued
and 200us is waited before starting the full initialization sequence.
Note: DDR4 and DDR3 only
PHYRST 6rwNormal read/write0x0PHY Reset: Resets the AC and DATX8 modules by asserting the
AC/DATX8 reset pin.
DCAL 5rwNormal read/write0x0Digital Delay Line (DDL) Calibration: Performs PHY delay line
calibration. If maintaining valid DRAM data and state through this
calibration is required, then the DRAM should be put into self refresh
before setting this bit to trigger the calibration; the use must also remove
DRAM from self refresh after the calibration is completed before
accessing the DRAM.
PLLINIT 4rwNormal read/write0x0PLL Initialization: Executes the PLL initialization sequence which
includes correct driving of PLL power-down, reset and gear shift pins,
and then waiting for the PHY PLLs to lock.
Reserved 3roRead-only0x0Return zeroes on reads.
CA 2rwNormal read/write0x0CA Training: Performs PHY LPDDR3 CA training. When set theLPDDR3
CA training will be performed after with PHY initialization (PLL
initialization + DDL calibration + PHY reset).
ZCAL 1rwNormal read/write0x0Impedance Calibration: Executes impedance calibration
INIT 0wtcReadable, write a 1 to clear0x0Initialization Trigger: A write of 1b1 to this bit triggers the DDR system
initialization, including PHY initialization, DRAM initialization, and PHY
training. The exact initialization steps to be executed are specified in bits
1 to 15 of this register. A bit setting of 1 means the step will be executed
as part of the initialization sequence, while a setting of 1b0 means the
step will be bypassed. The initialization trigger bit is self-clearing.
It is recommended that this bit be set 1b1 in a separate config write step
after other bits in this register have been programmed to avoid any race
condition.
The PGSR0.IDONE status bit indicates when the initialization steps are
complete. Wait at least 32 ctl_clk cycles after PGSR0.IDONE is
observed to be 1b1 before starting or resuming traffic to DRAM.
Caution: This bit should be set to 1b1 to trigger the DDR system
initialization only when the DDR/DFI interfaces are idle and DFI update
interface is disabled in Controller as well as in PHY
(DSGCR.PUREN=0).
Note: Controller/Software must ensure that all DRAM timings have been
met for all prior issued commands before triggering any PUB Mode
operation.