SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
EDP connects to the SERDES PHY wrapper (WIZ) using the RAW data mode. To enable this connection, the WIZ configuration registers in the SERDES PHY must be configured. For details on the SERDES PHY wrapper configuration, see Section 10-G SerDes Programming Guide.
The following is an example configuration for enabling 4-data lane RAW data mode for Display Port connection.
// SERDES_TOP_CTRL register bit-field settings:
// PMA_CMN_REF_CLK_MODE = 2'b10, PMA_CMN_REF_CLK_INT_MODE = 2'b10, PMA_CMN_REFCLK_DIG_DIV = 0, PMA_SUSPEND_OVERRIDE = 0
SERDES_TOP_CTRL register value = 32'h30000000
// SERDES_RST register bit-field settings:
// PHY_RESET_N = 0 (PHY in reset)
// PHY_EN_REFCLK = 0 (PHY reference clock output disabled)
// PLL1/0_REFCLK_SEL = 0 (for cmn_refclk_<p/m> select), 1 (for pma_cmn_refclk_int select)
// REFCLK_TERM_DIS = 1 (termination disabled)
// REFCLK_DIG_SEL = 1 (PMA common reference clock select: 0 for cmn_refclk_<p/m>, 1 – pma_cmn_refclk_int)
// If the reference clock is sourced from internal digital input:
// PLL1_REFCLK_SEL = 1, PLL0_REFCLK_SEL = 1, REFCLK_TERM_DIS = 1, REFCLK_DIG_SEL = 1
SERDES_RST register value = 32'h39000000
// Alternatively, if the reference clock is sourced from <p/m> inputs:
// PLL1_REFCLK_SEL = 0, PLL0_REFCLK_SEL = 0, REFCLK_TERM_DIS = 0, REFCLK_DIG_SEL = 0
SERDES_RST alternative register value = 32'h00000000
// LANECTLx register bit-field settings:
// P0_ENABLE = 0, P0_FORCE_ENABLE = 1, P0_ALIGN = 1, P0_RAW_AUTO_START = 1, P0_STANDARD_MODE = 0, P0_FULLRT_DIV = 0
LANECTL0 register value = 32'h70000000 // for lane 0
// P0_ENABLE = 1, P0_FORCE_ENABLE = 0, P0_ALIGN = 0, P0_RAW_AUTO_START = 0, P0_STANDARD_MODE = 0, P0_FULLRT_DIV = 0
LANECTL1 register value = 32'h80000000 // for lane 1
LANECTL2 register value = 32'h80000000 // for lane 2
LANECTL3 register value = 32'h80000000 // for lane 3
// LANEDIVx register bit-field settings:
// P0_MAC_DIV_SEL0 = 7'b1, P0_MAC_DIV_SEL1 = 9'b1
LANEDIV0 register value = 32'h00010001 // for lane 0
LANEDIV1 register value = 32'h00010001 // for lane 1
LANEDIV2 register value = 32'h00010001 // for lane 2
LANEDIV3 register value = 32'h00010001 // for lane 3
// Set DIAG_REG register to 0
DIAG_TEST register value = 32'h0
The SERDES PHY reset is not driven by the EDP controller (that is, by writing to the EDP_CORE_PHY_RESET_P[8] PHY_RESET register bit. Instead, the SERDES PHY reset is mapped to the SERDES_RST[31] PHY_RESET_N register bit in the SERDES PHY wrapper. But, the EDP_CORE_PHY_RESET[8] PHY_RESET bit is still used in the EDP controller to disable the controller’s output to the SERDES. Therefore, after reset, the EDP_CORE_PHY_RESET[8] PHY_RESET bit must be set to 1 (reset off). After this, the SERDES reset can be controlled strictly with the SERDES_RST[31] PHY_RESET_N bit.