📄 hw_scu.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 + -