⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hw_scu.c

📁 瑞星微公司RK27XX系列芯片的SDK开发包
💻 C
字号:
/*********************************************************************************
*     Copyright (C),2004-2005,  Fuzhou Rockchip Co.,Ltd.
*         All Rights Reserved
*          V1.00
* FileName :  Hw_scu.c
* Author :  lzy
* Description:
* History  :
*   <author>  <time>    <version>    <desc>
*    lzy     07/6/29    1.0    ORG
*
$Log: Hw_scu.c,v $
Revision 1.3  2008/06/19 04:43:29  Administrator
代码整理!

Revision 1.2  2008/05/26 03:36:30  HSL
增加关闭RGB屏CLOCK的接口.

Revision 1.1.1.1  2008/05/07 04:15:08  Administrator
no message

Revision 1.1.1.1  2008/03/06 13:29:04  Lingzhaojun
no message

Revision 1.5  2007/11/10 04:22:05  Huangxinyu
调试修改

Revision 1.4  2007/10/15 09:03:25  Huangxinyu
根据RK27提交修改driver

Revision 1.3  2007/10/08 02:38:39  Lingzhaojun
添加版本自动注释脚本


*********************************************************************************/

#include "hw_include.h"
#include "hw_scu.h"



/**************************************************************************
* 函数名称: Scu_ClockSet
* 函数描述:  set a module clock enable or disable
* 入口参数: Clock_Disable_t :  module IP name
                            Enable:  1:  enable
                                        0:   disable
* 出口参数: 无
* 返回值:      无
* 注释:
***************************************************************************/
void Scu_ClockSet(SCU_Clock_t clk_id, BOOL Enable)
{

    if (Enable)
        ClrRegBit32(&pSCUReg->SCU_CLKCFG, clk_id);
    else
        SetRegBit32(&pSCUReg->SCU_CLKCFG, clk_id);

}

/**************************************************************************
* 函数名称: Scu_ModuleReset
* 函数描述:  reset a module
* 入口参数: Module_Reset_t :  module name
                            Reset:   1:  reset
                                        0:  release reset
* 出口参数: 无
* 返回值:      无
* 注释:
***************************************************************************/
void Scu_ModuleReset(Module_Reset_t Module_id, BOOL Reset)
{

    if (Reset)
        SetRegBit32(&pSCUReg->SCU_RSTCFG, Module_id);
    else
        ClrRegBit32(&pSCUReg->SCU_RSTCFG, Module_id);

}

/**************************************************************************
* 函数名称:  SCU_SetCodecFreq
* 函数描述:  设置CODEC MCLK  的频率
* 入口参数:  nKHz  MCLK 的频率
* 出口参数:  无
* 返回值:        无
* 注释:             目前只设置为12M
***************************************************************************/
void SCU_SetCodecFreq(UINT32 nKHz)
{
    if (MCLK_12M == nKHz)
    {
        SetRegBits32(&pSCUReg->SCU_DIVCON, CODEC_CLK12M);
        Pll_PowerDown(PLL_AUX);
    }
    else
    {
//      no setup for other frequency,
        ClrRegBits32(&pSCUReg->SCU_DIVCON, CODEC_CLK12M);
        Pll_SetAUXFreq(nKHz);
    }
}

/**************************************************************************
* 函数名称:  SCU_ShutDownInnerCodec
* 函数描述:  设置CODEC MCLK  的频率
* 入口参数:  nKHz  MCLK 的频率
* 出口参数:  无
* 返回值:        无
* 注释:             目前只设置为12M,RGB 屏的 CLK 来源于内部 CODEC的CLK,关闭该CLK,会间接关闭 RGB.
***************************************************************************/
void SCU_ShutDownInnerCodec(void)
{
    WriteReg32(&pSCUReg->SCU_PLLAUX, 1 << 22);
}

⌨️ 快捷键说明

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