Functions
SERDES AIF2

Functions

CSL_IDEF_INLINE CSL_SERDES_RESULT CSL_AIF2SerdesInitB8 (uint32_t base_addr, CSL_SERDES_REF_CLOCK ref_clock, CSL_SERDES_LINK_RATE rate)
CSL_IDEF_INLINE CSL_SERDES_RESULT CSL_AIF2SerdesInitB4 (uint32_t base_addr, CSL_SERDES_REF_CLOCK ref_clock, CSL_SERDES_LINK_RATE rate)
CSL_IDEF_INLINE void CSL_AIF2SerdesLaneConfig (uint32_t base_addr, CSL_SERDES_REF_CLOCK ref_clock, CSL_SERDES_LINK_RATE rate, uint32_t lane_num)
CSL_IDEF_INLINE void CSL_AIF2SerdesComEnable (uint32_t base_addr)
CSL_IDEF_INLINE void CSL_AIF2SerdesPllEnableB8 (uint32_t aif2_ctrl_base_addr, uint32_t aif2_serdes_base_addr)
CSL_IDEF_INLINE void CSL_AIF2SerdesPllEnableB4 (uint32_t aif2_ctrl_base_addr, uint32_t aif2_serdes_base_addr)
CSL_IDEF_INLINE void CSL_AIF2LinkClkEnable (uint32_t base_addr, uint32_t link_num)
CSL_IDEF_INLINE void CSL_AIF2LinkClkDisable (uint32_t base_addr, uint32_t link_num)
CSL_IDEF_INLINE void CSL_AIF2SerdesLaneDisable (uint32_t base_addr, uint32_t lane_num)
CSL_IDEF_INLINE void CSL_AIF2SerdesLaneReset (uint32_t base_addr, uint32_t lane_num)
CSL_IDEF_INLINE CSL_SERDES_STATUS CSL_AIF2SerdesGetStatusB8 (uint32_t base_addr)
CSL_IDEF_INLINE CSL_SERDES_STATUS CSL_AIF2SerdesGetStatusB4 (uint32_t base_addr)
CSL_IDEF_INLINE void CSL_AIF2SerdesLaneEnable (uint32_t aif2_ctrl_base_addr, uint32_t aif2_serdes_base_addr, uint32_t lane_num, uint32_t link_rate)
CSL_IDEF_INLINE void CSL_AIF2SerdesLoopbackEnable (uint32_t base_addr, uint32_t lane_num, CSL_SERDES_LOOPBACK loopback_mode)
CSL_IDEF_INLINE void CSL_AIF2SerdesClkSelB4 (uint32_t base_addr)
CSL_IDEF_INLINE void CSL_AIF2SerdesShutdown (uint32_t base_addr)
CSL_IDEF_INLINE uint32_t CSL_AIF2SerdesIsReset (uint32_t base_addr)

Detailed Description

============================================================================

Introduction

Overview

This module deals with setting up SERDES configuration for AIF2. The API flow should be as follows:

CSL_AIF2SerdesInitB8 (base_addr, ref_clock, rate); or/and CSL_AIF2SerdesInitB4 (base_addr, ref_clock, rate);

CSL_AIF2SerdesLaneConfig (base_addr, ref_clock, rate, lane_num);

CSL_AIF2SerdesComEnable (base_addr);

CSL_AIF2SerdesLaneEnable (base_addr, lane_num, link_rate);

CSL_AIF2SerdesLoopbackEnable (base_addr, lane_num, loopback_mode);

CSL_AIF2SerdesPllEnableB8 (base_addr); or/and CSL_AIF2SerdesPllEnableB4 (base_addr);

CSL_AIF2SerdesGetStatusB8/B4 (base_addr); or/and CSL_AIF2SerdesGetStatusB4 (base_addr);

References

============================================================================


Function Documentation

CSL_IDEF_INLINE void CSL_AIF2LinkClkDisable ( uint32_t  base_addr,
uint32_t  link_num 
)

============================================================================
CSL_AIF2LinkClkDisable

Description
This API disables the Serdes Link Clocks

Arguments base_addr, link_num

Return Value None

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2LinkClkDisable(CSL_AIF2_CONTROL_REGS, 0);

    

===========================================================================

CSL_IDEF_INLINE void CSL_AIF2LinkClkEnable ( uint32_t  base_addr,
uint32_t  link_num 
)

============================================================================
CSL_AIF2LinkClkEnable

Description
This API enables the Serdes Link Clocks

Arguments base_addr, link_num

Return Value None

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2LinkClkEnable(CSL_AIF2_CONTROL_REGS, 0);

    

===========================================================================

CSL_IDEF_INLINE void CSL_AIF2SerdesClkSelB4 ( uint32_t  base_addr)

============================================================================
CSL_AIF2SerdesClkSelB4

Description
This API selects the Serdes Link Clock for B4 PLL

Arguments base_addr

Return Value None

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2SerdesClkSelB4(CSL_AIF2_CONTROL_REGS);

    

===========================================================================

CSL_IDEF_INLINE void CSL_AIF2SerdesComEnable ( uint32_t  base_addr)

============================================================================
CSL_AIF2SerdesComEnable

Description
This API is deprecated and retained for backwards compatibility. This feature is currently integrated into the CSL_AIF2SerdesInitB8/B4 API.

Arguments base_addr

Return Value None

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2SerdesComEnable(CSL_AIF2_SERDES_B8_CFG_REGS);

    

===========================================================================

CSL_IDEF_INLINE CSL_SERDES_STATUS CSL_AIF2SerdesGetStatusB4 ( uint32_t  base_addr)

============================================================================
CSL_AIF2SerdesGetStatusB4

Description
This API returns the status of the B4 PLL lock

Arguments base_addr

Return Value CSL_SERDES_STATUS

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2SerdesGetStatusB4(CSL_AIF2_CONTROL_REGS);

    

===========================================================================

CSL_IDEF_INLINE CSL_SERDES_STATUS CSL_AIF2SerdesGetStatusB8 ( uint32_t  base_addr)

============================================================================
CSL_AIF2SerdesGetStatusB8

Description
This API returns the status of the B8 PLL lock

Arguments base_addr

Return Value CSL_SERDES_STATUS

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2SerdesGetStatusB8(CSL_AIF2_CONTROL_REGS);

    

===========================================================================

CSL_IDEF_INLINE CSL_SERDES_RESULT CSL_AIF2SerdesInitB4 ( uint32_t  base_addr,
CSL_SERDES_REF_CLOCK  ref_clock,
CSL_SERDES_LINK_RATE  rate 
)

============================================================================
CSL_AIF2SerdesInitB4

Description
This API initializes the Serdes CMU and COMLANE registers for B4 PLL.

Arguments base_addr, ref_clock, rate

Return Value CSL_SERDES_RESULT

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
    csl_retval = CSL_AIF2SerdesInitB4(CSL_AIF2_SERDES_B4_CFG_REGS, CSL_SERDES_REF_CLOCK_122p88M, CSL_SERDES_LINK_RATE_6p144G);

    

===========================================================================

CSL_IDEF_INLINE CSL_SERDES_RESULT CSL_AIF2SerdesInitB8 ( uint32_t  base_addr,
CSL_SERDES_REF_CLOCK  ref_clock,
CSL_SERDES_LINK_RATE  rate 
)

============================================================================
CSL_AIF2SerdesInitB8

Description
This API initializes the Serdes CMU and COMLANE registers for B8 PLL.

Arguments base_addr, ref_clock, rate

Return Value CSL_SERDES_RESULT

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
    csl_retval = CSL_AIF2SerdesInitB8(CSL_AIF2_SERDES_B8_CFG_REGS, CSL_SERDES_REF_CLOCK_122p88M, CSL_SERDES_LINK_RATE_6p144G);

    

===========================================================================

CSL_IDEF_INLINE uint32_t CSL_AIF2SerdesIsReset ( uint32_t  base_addr)

============================================================================
CSL_AIF2SerdesIsReset

Description
This API returns a flag indicating whether the SerDes is in reset (1), or whether a previous configuration was applied to the SerDes

Arguments base_addr

Return Value None

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 	 uint32_t serdesIsReset;
     serdesIsReset = CSL_AIF2SerdesIsReset(CSL_AIF2_SERDES_B8_CFG_REGS);

    

===========================================================================

CSL_IDEF_INLINE void CSL_AIF2SerdesLaneConfig ( uint32_t  base_addr,
CSL_SERDES_REF_CLOCK  ref_clock,
CSL_SERDES_LINK_RATE  rate,
uint32_t  lane_num 
)

============================================================================
CSL_AIF2SerdesLaneConfig

Description
This API is deprecated and retained for backwards compatibility. This feature is currently integrated into the CSL_AIF2SerdesInitB8/B4 API.

Arguments base_addr, ref_clock, rate, lane_num

Return Value None

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2SerdesLaneConfig(CSL_AIF2_SERDES_B8_CFG_REGS, CSL_SERDES_REF_CLOCK_122p88M, CSL_SERDES_LINK_RATE_4p9152G, 1);

    

===========================================================================

CSL_IDEF_INLINE void CSL_AIF2SerdesLaneDisable ( uint32_t  base_addr,
uint32_t  lane_num 
)

============================================================================
CSL_AIF2SerdesLaneDisable

Description
This API disables the Serdes Lanes

Arguments base_addr, lane_num

Return Value None

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2SerdesLaneDisable(CSL_AIF2_CONTROL_REGS, 0);

    

===========================================================================

CSL_IDEF_INLINE void CSL_AIF2SerdesLaneEnable ( uint32_t  aif2_ctrl_base_addr,
uint32_t  aif2_serdes_base_addr,
uint32_t  lane_num,
uint32_t  link_rate 
)

============================================================================
CSL_AIF2SerdesLaneEnable

Description
This API enables the Serdes CMU and COMLANE

Arguments base_addr, lane_num, link_rate

Return Value None

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2SerdesLaneEnable(CSL_AIF2_CONTROL_REGS, 0, CSL_AIF2_LINK_RATE_8x);

    

===========================================================================

CSL_IDEF_INLINE void CSL_AIF2SerdesLaneReset ( uint32_t  base_addr,
uint32_t  lane_num 
)

============================================================================
CSL_AIF2SerdesLaneReset

Description
This API is deprecated since CSL_AIF2SerdesLaneDisable is performing the same operation

Arguments base_addr, lane_num

Return Value None

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2SerdesLaneReset(CSL_AIF2_SERDES_B8_CFG_REGS, 0);

    

===========================================================================

CSL_IDEF_INLINE void CSL_AIF2SerdesLoopbackEnable ( uint32_t  base_addr,
uint32_t  lane_num,
CSL_SERDES_LOOPBACK  loopback_mode 
)

============================================================================
CSL_AIF2SerdesLoopbackEnable

Description
This API enables the Serdes internal loopback

Arguments base_addr, lane_num, loopback_mode

Return Value None

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2SerdesLoopbackEnable(CSL_AIF2_SERDES_B8_CFG_REGS, 0, CSL_SERDES_LOOPBACK_ENABLED);

    

===========================================================================

CSL_IDEF_INLINE void CSL_AIF2SerdesPllEnableB4 ( uint32_t  aif2_ctrl_base_addr,
uint32_t  aif2_serdes_base_addr 
)

============================================================================
CSL_AIF2SerdesPllEnableB4

Description
This API enables the Serdes B4 PLL

Arguments base_addr

Return Value None

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2SerdesPllEnableB4(CSL_AIF2_CONTROL_REGS);

    

===========================================================================

CSL_IDEF_INLINE void CSL_AIF2SerdesPllEnableB8 ( uint32_t  aif2_ctrl_base_addr,
uint32_t  aif2_serdes_base_addr 
)

============================================================================
CSL_AIF2SerdesPllEnableB8

Description
This API enables the Serdes B8 PLL

Arguments base_addr

Return Value None

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2SerdesPllEnableB8(CSL_AIF2_CONTROL_REGS);

    

===========================================================================

CSL_IDEF_INLINE void CSL_AIF2SerdesShutdown ( uint32_t  base_addr)

============================================================================
CSL_AIF2SerdesShutdown

Description
This API shuts down the Serdes by Disabling and Resetting the Serdes

Arguments base_addr

Return Value None

Pre Condition
None

Post Condition
None

Reads
None

Usage Constraints:
None

Example

 
     CSL_AIF2SerdesShutdown(CSL_AIF2_SERDES_B8_CFG_REGS);

    

===========================================================================


Copyright 2014, Texas Instruments Incorporated