Skip to content

Commit

Permalink
phy/1000basex: Use pll.config["d"] to compute TX_PROGDIV_CFG/RX_PROGD…
Browse files Browse the repository at this point in the history
…IV_CFG to fix behavior with 200MHz ref_clk_freq.
  • Loading branch information
enjoy-digital committed Jul 10, 2024
1 parent e0f053e commit 583137e
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 6 deletions.
10 changes: 8 additions & 2 deletions liteeth/phy/ku_1000basex.py
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,10 @@ def __init__(self, refclk_or_clk_pads, data_pads, sys_clk_freq, refclk_freq=200e
p_RX_FABINT_USRCLK_FLOP = 0b0,
p_RX_INT_DATAWIDTH = 0,
p_RX_PMA_POWER_SAVE = 0b0,
p_RX_PROGDIV_CFG = {1.25e9 : 20.0, 3.125e9 : 10.0}[self.linerate],
p_RX_PROGDIV_CFG = {
1.25e9 : 20.0*pll.config["d"]/4,
3.125e9 : 10.0*pll.config["d"]/4,
}[self.linerate],
p_RX_SAMPLE_PERIOD = 0b111,
p_RX_SIG_VALID_DLY = 11,
p_RX_SUM_DFETAPREP_EN = 0b0,
Expand Down Expand Up @@ -455,7 +458,10 @@ def __init__(self, refclk_or_clk_pads, data_pads, sys_clk_freq, refclk_freq=200e
p_TX_PMADATA_OPT = 0b0,
p_TX_PMA_POWER_SAVE = 0b0,
p_TX_PROGCLK_SEL = "CPLL",
p_TX_PROGDIV_CFG = {1.25e9 : 20.0, 3.125e9 : 10.0}[self.linerate],
p_TX_PROGDIV_CFG = {
1.25e9 : 20.0*pll.config["d"]/4,
3.125e9 : 10.0*pll.config["d"]/4,
}[self.linerate],
p_TX_QPI_STATUS_EN = 0b0,
p_TX_RXDETECT_CFG = 0b00000000110010,
p_TX_RXDETECT_REF = 0b100,
Expand Down
10 changes: 8 additions & 2 deletions liteeth/phy/usp_gth_1000basex.py
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,10 @@ def __init__(self, refclk_or_clk_pads, data_pads, sys_clk_freq, refclk_freq=200e
p_RX_INT_DATAWIDTH = 0,
p_RX_PMA_POWER_SAVE = 0b0,
p_RX_PMA_RSV0 = 0b0000000000000000,
p_RX_PROGDIV_CFG = {1.25e9 : 20.0, 3.125e9 : 10.0}[self.linerate],
p_RX_PROGDIV_CFG = {
1.25e9 : 20.0*pll.config["d"]/4,
3.125e9 : 10.0*pll.config["d"]/4,
}[self.linerate],
p_RX_PROGDIV_RATE = 0b0000000000000001,
p_RX_RESLOAD_CTRL = 0b0000,
p_RX_RESLOAD_OVRD = 0b0,
Expand Down Expand Up @@ -513,7 +516,10 @@ def __init__(self, refclk_or_clk_pads, data_pads, sys_clk_freq, refclk_freq=200e
p_TX_PMA_RSV0 = 0b0000000000001000,
p_TX_PREDRV_CTRL = 2,
p_TX_PROGCLK_SEL = "PREPI",
p_TX_PROGDIV_CFG = {1.25e9 : 20.0, 3.125e9 : 10.0}[self.linerate],
p_TX_PROGDIV_CFG = {
1.25e9 : 20.0*pll.config["d"]/4,
3.125e9 : 10.0*pll.config["d"]/4,
}[self.linerate],
p_TX_PROGDIV_RATE = 0b0000000000000001,
p_TX_QPI_STATUS_EN = 0b0,
p_TX_RXDETECT_CFG = 0b00000000110010,
Expand Down
10 changes: 8 additions & 2 deletions liteeth/phy/usp_gty_1000basex.py
Original file line number Diff line number Diff line change
Expand Up @@ -418,7 +418,10 @@ def __init__(self, refclk_or_clk_pads, data_pads, sys_clk_freq, refclk_freq=200e
p_RX_INT_DATAWIDTH = 0,
p_RX_PMA_POWER_SAVE = 0b0,
p_RX_PMA_RSV0 = 0b0000000000101111,
p_RX_PROGDIV_CFG = {1.25e9 : 20.0, 3.125e9 : 10.0}[self.linerate],
p_RX_PROGDIV_CFG = {
1.25e9 : 20.0*pll.config["d"]/4,
3.125e9 : 10.0*pll.config["d"]/4,
}[self.linerate],
p_RX_PROGDIV_RATE = 0b0000000000000001,
p_RX_RESLOAD_CTRL = 0b0000,
p_RX_RESLOAD_OVRD = 0b0,
Expand Down Expand Up @@ -530,7 +533,10 @@ def __init__(self, refclk_or_clk_pads, data_pads, sys_clk_freq, refclk_freq=200e
p_TX_PMA_RSV0 = 0b0000000000000000,
p_TX_PMA_RSV1 = 0b0000000000000000,
p_TX_PROGCLK_SEL = "CPLL",
p_TX_PROGDIV_CFG = {1.25e9 : 20.0, 3.125e9 : 10.0}[self.linerate],
p_TX_PROGDIV_CFG = {
1.25e9 : 20.0*pll.config["d"]/4,
3.125e9 : 10.0*pll.config["d"]/4,
}[self.linerate],
p_TX_PROGDIV_RATE = 0b0000000000000001,
p_TX_RXDETECT_CFG = 0b00000000110010,
p_TX_RXDETECT_REF = 5,
Expand Down

0 comments on commit 583137e

Please sign in to comment.