SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
| Address Offset | 0x0000 000C | ||
| Physical Address | Instance | ||
| Description | Some programmability for different analog circuits in the IP. | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MEM_ANAMODE | RESERVED | MEM_PLLDIV | RESERVED | ||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:8 | MEM_ANAMODE | Programmability for Analog circuits in the IP. The top 5 bits -MEM_ANAMODE[31:27] indicate the Serial Interface using this PHY module. The bits MEM_ANAMODE [30:29] correspond to SATA 1.5 Gbps and SATA 3 Gbps modes, respectively. The appropriate bit must be set to '0b1' according to selected SATA speed mode, and the other bits must be written to '0b0', as follows: MEM_ANAMODE[31:27] = 0b01000 for SATA 1.5 Gbps MEM_ANAMODE[31:27] = 0b00100 for SATA 3 Gbps Bits [17:14] of the MEM_ANAMODE bitfield are used to control loss-of-signal detection (LOSD) threshold. | RW | 0x00 0000 |
| 7 | RESERVED | R | 0x0 | |
| 6:5 | MEM_PLLDIV | This is a test mode. SoC Users are requested to leave this at default value. The input pll_clk (after being muxed with pllbypclk) is divided by the following factors indicated by this register. 00=1 01=2 10=4 11=RESERVED. All references to pll_clk in this register descriptions are AFTER considering this division. | RW | 0x0 |
| 4:0 | RESERVED | R | 0x00 |
| Address Offset | 0x0000 001C | ||
| Physical Address | Instance | ||
| Description | The IP requires some values to be remembered in EFUSE. This register provides an alternative to EFUSE. | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MEM_DLL_TRIM_SEL | RESERVED | ||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:30 | MEM_DLL_TRIM_SEL | Determines which of the 4 EFUSE registers EFUSE_dll_rateN_coarsetrim should be used as the trim code by the DLL. This feature is so that the user may find and store the trim codes corresponding to different (at most 4) DLL frequencies (pll_clk pll_clk (after the bypassing by MEM_en_pllbyp and the division by MEM_plldiv) frequencies) and at wake-up, instruct the IP to choose one of these available trim values depending on the Application's frequency requirement. 00 selects dll_rate0_coarsetrim 01 selects dll_rate1_coarsetrim 10 selects dll_rate2_coarsetrim 11 selects dll_rate3_coarsetrim. | RW | 0x0 |
| 29:0 | RESERVED | RW | 0x0000 0000 |
| Address Offset | 0x0000 0024 | ||
| Physical Address | Instance | ||
| Description | This register is used to program DLL settings. | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MEM_DLL_PHINT_RATE | RESERVED | ||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:30 | MEM_DLL_PHINT_RATE | Programs the DLL and the Phase Interpolator analog circuits to work with different clock frequencies. The frequency of pll_clk (after the bypassing by MEM_en_pllbyp and the division by MEM_plldiv) should be indicated by this register. 00=0.625GHz to 0.75GHz 01=RESERVED 10=1.25GHz to 1.5GHz 11=2.5GHz to 2.9GHz. | RW | 0x3 |
| 29:0 | RESERVED | R | 0x00A4 1915 |
| Address Offset | 0x0000 0028 | ||
| Physical Address | Instance | ||
| Description | This register contains control bits which affect different circuits in digital section of the IP. | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MEM_INV_RXPN_PAIR | MEM_OVRD_INV_RXPN_PAIR | RESERVED | MEM_HS_RATE | MEM_OVRD_HS_RATE | RESERVED | MEM_CDR_FASTLOCK | MEM_CDR_LBW | MEM_CDR_STEPCNT | MEM_CDR_STL | MEM_CDR_THR | MEM_CDR_THR_MODE | MEM_CDR_2NDO_SDM_MODE | RESERVED | ||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31 | MEM_INV_RXPN_PAIR | If '1', interchanges RXP and RXN effectively by inverting the received data samples. | RW | 0 |
| 30 | MEM_OVRD_INV_RXPN_PAIR | Pin override control. See register bit MEM_inv_rxpn_pair. | RW | 0 |
| 29 | RESERVED | R | 0 | |
| 28:27 | MEM_HS_RATE | Determines the ratio of pll_clk (after the bypassing by MEM_en_pllbyp and the division by MEM_plldiv) frequency and the output data rate. Full Rate means pll_clk (after the bypassing by MEM_en_pllbyp and the division by MEM_plldiv) frequency = Data Rate/2 00=Full Rate 01=Half Rate 10=Quarter Rate 11=RESERVED. This takes effect only if register bit MEM_ovrd_hs_rate is '1', else the same is controlled by input pins hs_rate. | RW | 0x0 |
| 26 | MEM_OVRD_HS_RATE | Pin override control. See register bit MEM_hs_rate. | RW | 0 |
| 25:24 | RESERVED | R | 0x2 | |
| 23 | MEM_CDR_FASTLOCK | '1' to reduce lock time of CDR (clock-data-recovery circuit). | RW | 1 |
| 22:21 | MEM_CDR_LBW | CDR band-width control. | RW | 0x3 |
| 20:19 | MEM_CDR_STEPCNT | CDR 2nd order setting. | RW | 0x0 |
| 18:16 | MEM_CDR_STL | CDR settling time. Determines the number of vote clocks to blank ELV (Early-Late-Voter circuit) after update of phase. | RW | 0x3 |
| 15:13 | MEM_CDR_THR | CDR 1st order threshold. Determines how much early/late votes should differ by before a phase change in the receiver sampling clock is triggered. | RW | 0x1 |
| 12 | MEM_CDR_THR_MODE | CDR 1st order threshold. | RW | 1 |
| 11 | MEM_CDR_2NDO_SDM_MODE | If '1', the 2nd Order CDR block uses a 1st order Sigma Delta Modulator to accomplish frequency offset If '0', a simple rate transformer is used for the same purpose. | RW | 0 |
| 10:0 | RESERVED | R | 0x000 |
| Address Offset | 0x0000 0038 | ||
| Physical Address | Instance | ||
| Description | The IP has an Equalizer (with analog and digital parts) which addresses Inter Symbol Interference (ISI). This register is for its controllability. | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MEM_EQLEV | MEM_EQFTC | MEM_EQCTL | RESERVED | MEM_OVRD_EQLEV | MEM_OVRD_EQFTC | RESERVED | |||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:16 | MEM_EQLEV | Equalizer level control. | RW | 0x0000 |
| 15:11 | MEM_EQFTC | Equalizer zero freq control. | RW | 0x00 |
| 10:7 | MEM_EQCTL | 0000 - Equalizer disabled 0001 - Fully adaptive; FTC normal 0010 - Fully adaptive; FTC inverted 0011 - Hold eq state 01xx - Init eq to fully adaptive start/midpoint 1000 - Partially adaptive; zero=1084 MHz 1001 - Partially adaptive; zero= 805 MHz 1010 - Partially adaptive; zero= 573 MHz 1011 - Partially adaptive; zero= 402 MHZ 1100 - Partially adaptive; zero= 304 MHz 1101 - Partially adaptive; zero= 216 MHz 1110 - Partially adaptive; zero= 156 MHz 1111 - Partially adaptive; zero= 135 MHz | RW | 0x0 |
| 6:3 | RESERVED | R | 0 | |
| 2 | MEM_OVRD_EQLEV | Continuosly forces the Equalizer output with the eqlev[15:0]. | RW | 0 |
| 1 | MEM_OVRD_EQFTC | Continuosly forces the Equalizer output with the eqftc[4:0]. | RW | 0 |
| 0 | RESERVED | R | 0 |
| Address Offset | 0x0000 0044 | ||
| Physical Address | Instance | ||
| Description | This register has controls for SATA PHY RX tunning | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | MEM_CDR_LOS_SOURCE | RESERVED | |||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:11 | RESERVED | Reserved | R | 0x0 |
| 10:9 | MEM_CDR_LOS_SOURCE | 0x0: the Analog's los_sts (analog's loss of signal detector output) is used by the CDR algorithm to stop the CDR loop. 0x1: the input pin los_in is used by the CDR algorithm for the same purpose. 0x2: the SCP register MEM_los_to_cdr_val is used by the CDR algorithm for the same purpose. This feature may be used if there is an external (above the PHY layer) filtering of the Analog's loss of detection status signal which should be used to stop the CDR loop updates (through los_in) instead of using Analog's unfiltered LOS status directly. 0x3: Reserved | RW | 0x1 |
| 8:0 | RESERVED | Reserved | R | 0x000 |