- Main Page
- Modules
- Data Structures
- Files

Functions
PLL Functions
PLL

## Functions
CSL_Status | PLL_init (PLL_Obj *pllObj, Uint32 pllInstId)
CSL_Status | PLL_config (PLL_Handle hPll, PLL_Config *pconfigInfo)
CSL_Status | PLL_enable (PLL_Handle hPll)
CSL_Status | PLL_bypass (PLL_Handle hPll)
CSL_Status | PLL_reset (PLL_Handle hPll)
static Bool | PLL_getTestLockMonStatus (PLL_Handle hPll)
static CSL_Status | PLL_getConfig (PLL_Handle hPll, PLL_Config *pConfig)

## Function Documentation

CSL_Status PLL_bypass | ( | PLL_Handle | hPll | ) |

============================================================================
PLL_bypass

Description
This API is used to Bypass the PLL.

Arguments

                hPll        Handle to the pll

Return Value CSL_Status

- CSL_SOK - Bypassing the PLL is successful

- CSL_ESYS_BADHANDLE - The handle passed is invalid

Pre Condition
PLL_init and PLL_config should be called successfully.

Post Condition
Pll is bypassed

Modifies
hPll variable

Example

             CSL_Status              status;
             PLL_Obj                 pllObj;
             PLL_Config              configInfo;
             PLL_Handle              hPll;
             Uint32                  pllInstId;
             pllInstId = 0;
             status = PLL_init(&pllObj,pllInstId);
             hPll = &pllObj;
    	     .......
             Configure the PLL for 12.288MHz
             configInfo.PLLCNTL1 = 0x82ed;
             configInfo.PLLINCNTL = 0x8000;
             configInfo.PLLCNTL2 = 0x0806;
             configInfo.PLLOUTCNTL = 0x0200;
             status = PLL_config(hPll, &configInfo);
             status = PLL_bypass(hPll);

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

References PLL_Obj::sysAddr.

CSL_Status PLL_config | ( | PLL_Handle | hPll,
|  | PLL_Config * | pconfigInfo
| ) |  |

============================================================================
PLL_config

Description
This API is used to configure the PLL

Arguments

                hPll            Handle to the pll
                pconfigInfo     pointer to PLL_config structure.

Return Value CSL_Status

- CSL_SOK - Configuring the pll is successful

- CSL_ESYS_BADHANDLE - The handle passed is invalid

- CSL_ESYS_INVPARAMS - The pconfigInfo is NULL

Pre Condition
PLL_init should be successfully called.

Post Condition
Configures the PLL registers.

Modifies
hPll variable

Example

             CSL_Status              status;
             PLL_Obj                 pllObj;
             PLL_Config              configInfo;
             PLL_Handle              hPll;
             Uint32                  pllInstId;
             pllInstId = 0;
             status = PLL_init(&pllObj,pllInstId);
             hPll = &pllObj;
    	     .......
             Configure the PLL for 12.288MHz
             configInfo.PLLCNTL1 = 0x82ed;
             configInfo.PLLINCNTL = 0x8000;
             configInfo.PLLCNTL2 = 0x0806;
             configInfo.PLLOUTCNTL = 0x0200;
             status = PLL_config(hPll, &configInfo);

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

References PLL_getTestLockMonStatus(), PLL_Config::PLLCNTL1, PLL_Config::PLLCNTL2, PLL_Obj::pllConfig, PLL_Config::PLLINCNTL, PLL_Config::PLLOUTCNTL, PLL_Obj::sysAddr, and TIMEOUT.

CSL_Status PLL_enable | ( | PLL_Handle | hPll | ) |

============================================================================
PLL_enable

Description
This API is used to enable the PLL

Arguments

                hPll        Handle to the pll

Return Value CSL_Status

- CSL_SOK - Enabling the PLL is successful

- CSL_ESYS_BADHANDLE - The handle passed is invalid

Pre Condition
PLL_init and PLL_config should be called successfully.

Post Condition
Pll is enabled

Modifies
hPll variable

Example

             CSL_Status              status;
             PLL_Obj                 pllObj;
             PLL_Config              configInfo;
             PLL_Handle              hPll;
             Uint32                  pllInstId;
             pllInstId = 0;
             status = PLL_init(&pllObj,pllInstId);
             hPll = &pllObj;
    	     .......
             Configure the PLL for 12.288MHz
             configInfo.PLLCNTL1 = 0x82ed;
             configInfo.PLLINCNTL = 0x8000;
             configInfo.PLLCNTL2 = 0x0806;
             configInfo.PLLOUTCNTL = 0x0200;
             status = PLL_config(hPll, &configInfo);
             status = PLL_enable(hPll);

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

References PLL_getTestLockMonStatus(), PLL_Obj::sysAddr, and TIMEOUT.

static CSL_Status PLL_getConfig | ( | PLL_Handle | hPll,
|  | PLL_Config * | pConfig
| ) |  | `[inline, static]`

============================================================================
PLL_getConfig

Description
This API is used to retrieve the current configuration of the pll.

Arguments

            hPll        Handle to the pll

Return Value CSL_Status

- CSL_SOK - PLL config information is available

- CSL_ESYS_BADHANDLE - Handle is invalid

- CSL_ESYS_INVPARAMS - Pointer to the config structure is NULL

Pre Condition
PLL_init and PLL_config should be called successfully.

Post Condition
None

Modifies
pConfig variable

Example

             CSL_Status              status;
             Bool                    bStatus;
             PLL_Obj                 pllObj;
             PLL_Config              configInfo;
             PLL_Config              gconfig;
             PLL_Handle              hPll;
             Uint32                  pllInstId;
             pllInstId = 0;
             status = PLL_init(&pllObj,pllInstId);
             hPll = &pllObj;
    	     .......
             Configure the PLL for 12.288MHz
             configInfo.PLLCNTL1 = 0x82ed;
             configInfo.PLLINCNTL = 0x8000;
             configInfo.PLLCNTL2 = 0x0806;
             configInfo.PLLOUTCNTL = 0x0200;
             status = PLL_config(hPll, &configInfo);
             status = PLL_getConfig(hPll,&gconfig);

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

References PLL_Config::PLLCNTL1, PLL_Config::PLLCNTL2, PLL_Config::PLLINCNTL, PLL_Config::PLLOUTCNTL, and PLL_Obj::sysAddr.

static Bool PLL_getTestLockMonStatus | ( | PLL_Handle | hPll | ) | `[inline, static]`

============================================================================
PLL_getTestLockMonStatus

Description
This API is used to get the status of TEST LOCK bit in PLL CNTL2 reg

Arguments

            hPll        Handle to the pll

Return Value Bool

- TRUE - Test lock bit is set

- FALSE - Test lock bit is not set.

Pre Condition
PLL_init and PLL_config should be called successfully.

Post Condition
None

Modifies
hPll variable

Example

             CSL_Status              status;
             Bool                    bStatus;
             PLL_Obj                 pllObj;
             PLL_Config              configInfo;
             PLL_Handle              hPll;
             Uint32                  pllInstId;
             pllInstId = 0;
             status = PLL_init(&pllObj,pllInstId);
             hPll = &pllObj;
    	     .......
             Configure the PLL for 12.288MHz
             configInfo.PLLCNTL1  = 0x82ed; //Give proper value
             configInfo.PLLCNTL2  = 0x8000;
             configInfo.PLLINCNTL = 0x0806;
             configInfo.PLLOUTCNTL = 0x0200;
             status = PLL_config(hPll, &configInfo);
             bStatus = PLL_getTestLockMonStatus(hPll);

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

References PLL_Obj::sysAddr.

Referenced by PLL_config(), and PLL_enable().

CSL_Status PLL_init | ( | PLL_Obj * | pllObj,
|  | Uint32 | pllInstId
| ) |  |

============================================================================
PLL_init Description
This is the initialization function for the pll CSL. The function must be called before calling any other API from this CSL. This will initialize the PLL object.

Arguments

                pllObj          Pointer to PLL object.
                pllInstId       Instance number of the PLL.

Return Value CSL_Status

- CSL_SOK - Init call is successful
- CSL_ESYS_INVPARAMS- Invalid parameter

Pre Condition
None

Post Condition
PLL object structure is populated

Modifies
Handle is modified

Example

             PLL_Obj                 pllObj;
             CSL_Status              status;
             Uint32                  pllInstId;
             pllInstId = 0;
             status = PLL_init(&pllObj,pllInstId);

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

References CSL_PLL_INST_0, PLL_Obj::instId, and PLL_Obj::sysAddr.

CSL_Status PLL_reset | ( | PLL_Handle | hPll | ) |

============================================================================
PLL_reset

Description
Resets all the PLL registers.

Arguments

                hPll        Handle to the pll

Return Value CSL_Status

- CSL_SOK - Resetting the PLL is successful.

- CSL_ESYS_BADHANDLE - The handle passed is invalid

Pre Condition
PLL_init should be called successfully.

Post Condition
PLL registers are resetted.

Modifies
hPll variable

Example

                CSL_Status              status;
                PLL_Obj                 pllObj;
                Uint32                  pllInstId;
                PLL_Handle              hPll;
                pllInstId = 0;
                status = PLL_init(&pllObj,pllInstId);
              	.....
                hPll = &pllObj;
                status = PLL_reset(&pllObj);

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

============================================================================
PLL_reset

Description
Resets all the PLL registers.

Arguments

                hPll        Handle to the pll

Return Value CSL_Status

- CSL_SOK - Resetting the PLL is successful.

- CSL_ESYS_BADHANDLE - The handle passed is invalid

Pre Condition
PLL_init should be called successfully.

Post Condition
PLL registers are resetted.

Modifies
hPll variable

Example

                CSL_Status              status;
     	        PLL_Obj                 pllObj;
                Uint32                  pllInstId;
                PLL_Handle              hPll;
                pllInstId = 0;
                status = PLL_init(&pllObj,pllInstId);
              	.....
                hPll = &pllObj;
                status = PLL_reset(hPll);

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

References PLL_Obj::sysAddr.