csl_ulpdaux.h

来自「dsp在音频处理中的运用」· C头文件 代码 · 共 624 行 · 第 1/2 页

H
624
字号
 */
static inline 
void CSL_ulpdSwdUpldPllClkReqConfig(
    CSL_UlpdHandle    hUlpd,
    Bool              val
    )

{
    /* BCLK clock software request config */
    CSL_FINS(hUlpd->regs->SDW_CLK_DIV_CTRL_SEL, ULPD_SDW_CLK_DIV_CTRL_SEL_SDW_ULPD_PLL_CLK_REQ, val);
}

/* ============================================================================
 *   @n@b CSL_ulpdSwdClkConfig
 *
 *   @b Description
 *   @n Select APLL clock or SYSTEM Clock for BCLK output.
 *      FALSE request APLL clock
 *      TRUE  request SYSTEM clock
 *
 *
 *   @b Example
 *   @verbatim
        CSL_UlpdHandle    hUlpd;
        
        ...
        CSL_ulpdSwdClkConfig(hUlpd, TRUE);        ...
        
     @endverbatim
 * ===========================================================================
 */
static inline 
void CSL_ulpdSwdClkConfig(
    CSL_UlpdHandle    hUlpd,
    Bool              val
    )

{
    /* Select APLL clock or SYSTEM Clock for BCLK output */
    CSL_FINS(hUlpd->regs->SDW_CLK_DIV_CTRL_SEL, ULPD_SDW_CLK_DIV_CTRL_SEL_SDW_SYSCLK_PLLCLK_SEL, val);
}


/* ============================================================================
 *   @n@b CSL_ulpdComRatioSel
 *
 *   @b Description
 *   @n This routine is used to Select the frequency to be configured for the 
 *      divider ratio feild which is applied to the APLL output clock to generate MCLK..
 *
 *   @b Example
 *   @verbatim
        CSL_UlpdHandle    hUlpd;
        CSL_UlpdMclkFreq  mclkFreqVal = CSL_ULPD_COM_DIV_RATIO_48MHZ;          
        ...
        CSL_ulpdComRatioSel(hUlpd, bclkFreqVal);
        ...
        
     @endverbatim
 * ===========================================================================
 */
static inline 
void CSL_ulpdComRatioSel(
    CSL_UlpdHandle    hUlpd,
    CSL_UlpdMclkFreq  mclkFreqVal
)

{
    /* configure MCLK ratio */
    CSL_FINS(hUlpd->regs->COM_CLK_DIV_CTRL_SEL, ULPD_COM_CLK_DIV_CTRL_SEL_COM_RATIO_SEL, mclkFreqVal);
}

/* ============================================================================
 *   @n@b CSL_ulpdComUpldPllClkReqConfig
 *
 *   @b Description
 *   @n MCLK clock software request configuaration.
 *      FALSE request Inactive
 *      TRUE  request Active  
 *
 *   @b Example
 *   @verbatim
        CSL_UlpdHandle    hUlpd;
        
        ...
        CSL_ulpdComUpldPllClkReqConfig(hUlpd, TRUE/FALSE);
        ...
        
     @endverbatim
 * ===========================================================================
 */
static inline 
void CSL_ulpdComUpldPllClkReqConfig(
    CSL_UlpdHandle    hUlpd,
    Bool              val
    )

{
    /* MCLK clock software request config */
    CSL_FINS(hUlpd->regs->COM_CLK_DIV_CTRL_SEL, ULPD_COM_CLK_DIV_CTRL_SEL_COM_ULPD_PLL_CLK_REQ, val);
}

/* ============================================================================
 *   @n@b CSL_ulpdComClkConfig
 *
 *   @b Description
 *   @n Select APLL clock or SYSTEM Clock for MCLK output.
 *      FALSE request APLL clock
 *      TRUE  request SYSTEM clock
 *
 *   @b Example
 *   @verbatim
        CSL_UlpdHandle    hUlpd;
        
        ...
        CSL_ulpdComClkConfig(hUlpd, TRUE);        ...
        
     @endverbatim
 * ===========================================================================
 */
static inline 
void CSL_ulpdComClkConfig(
    CSL_UlpdHandle    hUlpd,
    Bool              val
    )

{
    /* Select APLL clock or SYSTEM Clock for MCLK output */
    CSL_FINS(hUlpd->regs->COM_CLK_DIV_CTRL_SEL, ULPD_COM_CLK_DIV_CTRL_SEL_COM_SYSCLK_PLLCLK_SEL, val);
}

/* ============================================================================
 *   @n@b CSL_ulpdSystemClkEnDis
 *
 *   @b Description
 *   @n Clock enable/disable of the system clock for GPIO modules
 *      FALSE: Clock disabled
 *      TRUE: Clock enabled
 *
 *   @b Example
 *   @verbatim
        CSL_UlpdHandle    hUlpd,         
        ...
        CSL_ulpdSystemClkEnDis(hUlpd, TRUE);
        ...
        
     @endverbatim
 * ===========================================================================
 */
static inline 
void CSL_ulpdSystemClkEnDis(
    CSL_UlpdHandle    hUlpd,
    Bool              val
)

{
    /* Clock enable/disable of the system clock for GPIO modules. */
    CSL_FINS(hUlpd->regs->CAM_CLK_CTRL, ULPD_CAM_CLK_CTRL_SYSTEM_CLK_EN, val);
}

/* ============================================================================
 *   @n@b CSL_ulpdCamClkDivConfig
 *
 *   @b Description
 *   @n When 0, the CAM.CLKOUT is the system clock, 
        When 1, the CAM.CLKOUT is the system clock.
 *
 *   @b Example
 *   @verbatim
        CSL_UlpdHandle    hUlpd,         
        ...
        CSL_ulpdCamClkDivConfig(hUlpd, 0x1);
        ...
        
     @endverbatim
 * ===========================================================================
 */
static inline 
void CSL_ulpdCamClkDivConfig(
    CSL_UlpdHandle    hUlpd,
    Bool              val
)
{
    /* 
     * When 0, the CAM.CLKOUT is the system clock, 
     * When 1, the CAM.CLKOUT is the system clock. 
     */
    CSL_FINS(hUlpd->regs->CAM_CLK_CTRL, ULPD_CAM_CLK_CTRL_CAM_CLK_DIV, val);
}


/* ============================================================================
 *   @n@b CSL_ulpdCamClkEnDis
 *
 *   @b Description
 *   @n Enable/Disable of the CAM.CLKOUT
 *
 *   @b Example
 *   @verbatim
        CSL_UlpdHandle    hUlpd,         
        ...
        CSL_ulpdCamClkEnDis(hUlpd, TRUE);
        ...
        
     @endverbatim
 * ===========================================================================
 */
static inline 
void CSL_ulpdCamClkEnDis(
    CSL_UlpdHandle    hUlpd,
    Bool              val
)

{
    /* Enable/Disable of the CAM.CLKOUT. */
    CSL_FINS(hUlpd->regs->CAM_CLK_CTRL, ULPD_CAM_CLK_CTRL_CAM_CLOCK_EN, val);
}

/* Get divider ratio applied to the APLL output clock to generate BCLK
 *  : response type @a CSL_UlpdBclkFreq
 */
static inline
CSL_UlpdBclkFreq CSL_ulpdGetBclkRatio(
        CSL_UlpdHandle    hUlpd
)
{
 return ((CSL_UlpdBclkFreq)CSL_FEXT(hUlpd->regs->SDW_CLK_DIV_CTRL_SEL, ULPD_SDW_CLK_DIV_CTRL_SEL_SDW_RATIO_SEL));
}

/* Get BCLK clock software request Status */
static inline
Uint32 CSL_ulpdGetBclkPllClkReq(
        CSL_UlpdHandle    hUlpd
)
{
 return ((Uint32)CSL_FEXT(hUlpd->regs->SDW_CLK_DIV_CTRL_SEL, ULPD_SDW_CLK_DIV_CTRL_SEL_SDW_ULPD_PLL_CLK_REQ));
}

/* Get clock selection for BCLK */
static inline
Uint32 CSL_ulpdGetBclkClkSelect(
        CSL_UlpdHandle    hUlpd
)
{
 return ((Uint32)CSL_FEXT(hUlpd->regs->SDW_CLK_DIV_CTRL_SEL, ULPD_SDW_CLK_DIV_CTRL_SEL_SDW_SYSCLK_PLLCLK_SEL ));
}

/* Get divider ratio applied to the APLL output clock to generate MCLK
 *  : response type @a CSL_UlpdMclkFreq
 */
static inline
CSL_UlpdMclkFreq CSL_ulpdGetMclkRatio(
        CSL_UlpdHandle    hUlpd
)
{
 return ((CSL_UlpdMclkFreq)CSL_FEXT(hUlpd->regs->COM_CLK_DIV_CTRL_SEL, ULPD_COM_CLK_DIV_CTRL_SEL_COM_RATIO_SEL));
}

/* Get MCLK clock software request Status */
static inline
Uint32 CSL_ulpdGetMclkPllClkReq(
        CSL_UlpdHandle    hUlpd
)
{
 return ((Uint32)CSL_FEXT(hUlpd->regs->COM_CLK_DIV_CTRL_SEL, ULPD_COM_CLK_DIV_CTRL_SEL_COM_ULPD_PLL_CLK_REQ));
}

/* Get clock selection for MCLK */
static inline
Uint32 CSL_ulpdGetMclkClkSelect(
        CSL_UlpdHandle    hUlpd
)
{
 return ((Uint32)CSL_FEXT(hUlpd->regs->COM_CLK_DIV_CTRL_SEL, ULPD_COM_CLK_DIV_CTRL_SEL_COM_SYSCLK_PLLCLK_SEL ));
}

/* Get Clock enable status of the system clock for GPIO modules*/
static inline
Uint32 CSL_ulpdGetSysClkEn(
        CSL_UlpdHandle    hUlpd
)
{
 return ((Uint32)CSL_FEXT(hUlpd->regs->CAM_CLK_CTRL, ULPD_CAM_CLK_CTRL_SYSTEM_CLK_EN ));
}

/* to Get the clock chosen as CAM.CLKOUT */
static inline
Uint32 CSL_ulpdGetCamClkDiv(
        CSL_UlpdHandle    hUlpd
)
{
 return ((Uint32)CSL_FEXT(hUlpd->regs->CAM_CLK_CTRL, ULPD_CAM_CLK_CTRL_CAM_CLK_DIV));
}

/* Get CAM.CLKOUT status */
static inline
Uint32 CSL_ulpdGetCamClockEn(
        CSL_UlpdHandle    hUlpd
)
{
 return ((Uint32)CSL_FEXT(hUlpd->regs->CAM_CLK_CTRL, ULPD_CAM_CLK_CTRL_CAM_CLOCK_EN ));
}



#ifdef __cplusplus
}
#endif


#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?