📄 llpc.c
字号:
//===============================================================================
// TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION
//
// Property of Texas Instruments
// For Unrestricted Internal Use Only
// Unauthorized reproduction and/or distribution is strictly prohibited.
// This product is protected under copyright law and trade secret law
// as an unpublished work.
// Created 2000, (C) Copyright 2000 Texas Instruments. All rights reserved.
//
// Filename : perseus2_llpc.c
// Date of Module Modification:7/12/02
// Date of Generation :7/15/02
//
//===============================================================================
#include "global_types.h"
#include "llpc.h"
#include "test.h"
#include "testaccess.h"
#include "errorcodes.h"
#include "reset.h"
#include "result.h"
//---------------------------------------------------------------------
// NAME : LLPC_TestResetValue
//
// DESCRIPTION : Test the reset values of LLPC registers
//
// PARAMETERS : None
//
// RETURN VALUE: None
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void LLPC_TestResetValue(void)
{
BEGIN_RESET_MODULE();
BEGIN_RESET_TEST(LLPC_LLPC_OFF_PERIOD,16);
TEST_FIELD_RESET(LLPC_LLPC_OFF_PERIOD,NUM_VS_OFF,16);
END_RESET_TEST();
BEGIN_RESET_TEST(LLPC_LLPC_ON_PERIOD,16);
TEST_FIELD_RESET(LLPC_LLPC_ON_PERIOD,NUM_VS_ON,16);
END_RESET_TEST();
BEGIN_RESET_TEST(LLPC_LLPC_MODE_SUSPEND_SIG,16);
TEST_FIELD_RESET(LLPC_LLPC_MODE_SUSPEND_SIG,MODE,16);
TEST_FIELD_RESET(LLPC_LLPC_MODE_SUSPEND_SIG,PIXEL_OUT_SUSP,16);
TEST_FIELD_RESET(LLPC_LLPC_MODE_SUSPEND_SIG,PCLK_OUT_SUSP,16);
TEST_FIELD_RESET(LLPC_LLPC_MODE_SUSPEND_SIG,OE_OUT_SUSP,16);
TEST_FIELD_RESET(LLPC_LLPC_MODE_SUSPEND_SIG,HS_OUT_SUSP,16);
TEST_FIELD_RESET(LLPC_LLPC_MODE_SUSPEND_SIG,VS_OUT_SUSP,16);
END_RESET_TEST();
BEGIN_RESET_TEST(LLPC_HSW_PPL,16);
TEST_FIELD_RESET(LLPC_HSW_PPL,HSW,16);
TEST_FIELD_RESET(LLPC_HSW_PPL,PPL,16);
END_RESET_TEST();
BEGIN_RESET_TEST(LLPC_VSW_LPP,32);
TEST_FIELD_RESET(LLPC_VSW_LPP,VSW,32);
TEST_FIELD_RESET(LLPC_VSW_LPP,LPP,32);
END_RESET_TEST();
BEGIN_RESET_TEST(LLPC_LEVEL_ACTIVITY_CONTROL,16);
TEST_FIELD_RESET(LLPC_LEVEL_ACTIVITY_CONTROL,HS_VS_ACTIVE_LEVEL,16);
TEST_FIELD_RESET(LLPC_LEVEL_ACTIVITY_CONTROL,PIXEL_SUSP_LEVEL,16);
TEST_FIELD_RESET(LLPC_LEVEL_ACTIVITY_CONTROL,PCLK_SUSP_LEVEL,16);
TEST_FIELD_RESET(LLPC_LEVEL_ACTIVITY_CONTROL,OE_SUSP_LEVEL,16);
TEST_FIELD_RESET(LLPC_LEVEL_ACTIVITY_CONTROL,HS_SUSP_LEVEL,16);
TEST_FIELD_RESET(LLPC_LEVEL_ACTIVITY_CONTROL,VS_SUSP_LEVEL,16);
END_RESET_TEST();
BEGIN_RESET_TEST(LLPC_HFP_HBP,16);
TEST_FIELD_RESET(LLPC_HFP_HBP,HFP,16);
TEST_FIELD_RESET(LLPC_HFP_HBP,HBP,16);
END_RESET_TEST();
BEGIN_RESET_TEST(LLPC_VFP_VBP,16);
TEST_FIELD_RESET(LLPC_VFP_VBP,VFP,16);
TEST_FIELD_RESET(LLPC_VFP_VBP,VBP,16);
END_RESET_TEST();
BEGIN_RESET_TEST(LLPC_VSYNC_INTERRUPT,16);
TEST_FIELD_RESET(LLPC_VSYNC_INTERRUPT,INT_MODE,16);
TEST_FIELD_RESET(LLPC_VSYNC_INTERRUPT,VS_INT_ENA,16);
TEST_FIELD_RESET(LLPC_VSYNC_INTERRUPT,NUM_VS_WAIT_IT,16);
END_RESET_TEST();
BEGIN_RESET_TEST(LLPC_VSYNC_OE_STATUS,16);
TEST_FIELD_RESET(LLPC_VSYNC_OE_STATUS,VALUE_VS_OUT,16);
TEST_FIELD_RESET(LLPC_VSYNC_OE_STATUS,VALUE_OE_OUT,16);
END_RESET_TEST();
BEGIN_RESET_TEST(LLPC_CLK_MODE,16);
TEST_FIELD_RESET(LLPC_CLK_MODE,CLK13M_REQ,16);
END_RESET_TEST();
BEGIN_RESET_TEST(LLPC_OE_EVENT,16);
TEST_FIELD_RESET(LLPC_OE_EVENT,OE_FALLEDGE_IT_ENA,16);
TEST_FIELD_RESET(LLPC_OE_EVENT,OE_RISEDGE_IT_ENA,16);
END_RESET_TEST();
END_RESET_MODULE();
}
//---------------------------------------------------------------------
// NAME : LLPC_TestRegistersAccess
//
// DESCRIPTION : Test the access to LLPC registers
//
// PARAMETERS : None
//
// RETURN VALUE: None
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void LLPC_TestRegistersAccess(void)
{
BEGIN_ACCESS_MODULE();
BEGIN_RW_TEST(LLPC_LLPC_OFF_PERIOD,16);
RW_PREPARE_WRITE(LLPC_LLPC_OFF_PERIOD,NUM_VS_OFF,16);
RW_WRITE(LLPC_LLPC_OFF_PERIOD);
RW_TEST_READ(LLPC_LLPC_OFF_PERIOD,NUM_VS_OFF,16);
RW_WRITE_PREVIOUS_VALUE(LLPC_LLPC_OFF_PERIOD);
END_RW_TEST();
BEGIN_RW_TEST(LLPC_LLPC_ON_PERIOD,16);
RW_PREPARE_WRITE(LLPC_LLPC_ON_PERIOD,NUM_VS_ON,16);
RW_WRITE(LLPC_LLPC_ON_PERIOD);
RW_TEST_READ(LLPC_LLPC_ON_PERIOD,NUM_VS_ON,16);
RW_WRITE_PREVIOUS_VALUE(LLPC_LLPC_ON_PERIOD);
END_RW_TEST();
BEGIN_RW_TEST(LLPC_LLPC_MODE_SUSPEND_SIG,16);
RW_PREPARE_WRITE(LLPC_LLPC_MODE_SUSPEND_SIG,MODE,16);
RW_PREPARE_WRITE(LLPC_LLPC_MODE_SUSPEND_SIG,PIXEL_OUT_SUSP,16);
RW_PREPARE_WRITE(LLPC_LLPC_MODE_SUSPEND_SIG,PCLK_OUT_SUSP,16);
RW_PREPARE_WRITE(LLPC_LLPC_MODE_SUSPEND_SIG,OE_OUT_SUSP,16);
RW_PREPARE_WRITE(LLPC_LLPC_MODE_SUSPEND_SIG,HS_OUT_SUSP,16);
RW_PREPARE_WRITE(LLPC_LLPC_MODE_SUSPEND_SIG,VS_OUT_SUSP,16);
RW_WRITE(LLPC_LLPC_MODE_SUSPEND_SIG);
RW_TEST_READ(LLPC_LLPC_MODE_SUSPEND_SIG,MODE,16);
RW_TEST_READ(LLPC_LLPC_MODE_SUSPEND_SIG,PIXEL_OUT_SUSP,16);
RW_TEST_READ(LLPC_LLPC_MODE_SUSPEND_SIG,PCLK_OUT_SUSP,16);
RW_TEST_READ(LLPC_LLPC_MODE_SUSPEND_SIG,OE_OUT_SUSP,16);
RW_TEST_READ(LLPC_LLPC_MODE_SUSPEND_SIG,HS_OUT_SUSP,16);
RW_TEST_READ(LLPC_LLPC_MODE_SUSPEND_SIG,VS_OUT_SUSP,16);
RW_WRITE_PREVIOUS_VALUE(LLPC_LLPC_MODE_SUSPEND_SIG);
END_RW_TEST();
BEGIN_RW_TEST(LLPC_HSW_PPL,16);
RW_PREPARE_WRITE(LLPC_HSW_PPL,HSW,16);
RW_PREPARE_WRITE(LLPC_HSW_PPL,PPL,16);
RW_WRITE(LLPC_HSW_PPL);
RW_TEST_READ(LLPC_HSW_PPL,HSW,16);
RW_TEST_READ(LLPC_HSW_PPL,PPL,16);
RW_WRITE_PREVIOUS_VALUE(LLPC_HSW_PPL);
END_RW_TEST();
BEGIN_RW_TEST(LLPC_VSW_LPP,32);
RW_PREPARE_WRITE(LLPC_VSW_LPP,VSW,32);
RW_PREPARE_WRITE(LLPC_VSW_LPP,LPP,32);
RW_WRITE(LLPC_VSW_LPP);
RW_TEST_READ(LLPC_VSW_LPP,VSW,32);
RW_TEST_READ(LLPC_VSW_LPP,LPP,32);
RW_WRITE_PREVIOUS_VALUE(LLPC_VSW_LPP);
END_RW_TEST();
BEGIN_RW_TEST(LLPC_LEVEL_ACTIVITY_CONTROL,16);
RW_PREPARE_WRITE(LLPC_LEVEL_ACTIVITY_CONTROL,HS_VS_ACTIVE_LEVEL,16);
RW_PREPARE_WRITE(LLPC_LEVEL_ACTIVITY_CONTROL,PIXEL_SUSP_LEVEL,16);
RW_PREPARE_WRITE(LLPC_LEVEL_ACTIVITY_CONTROL,PCLK_SUSP_LEVEL,16);
RW_PREPARE_WRITE(LLPC_LEVEL_ACTIVITY_CONTROL,OE_SUSP_LEVEL,16);
RW_PREPARE_WRITE(LLPC_LEVEL_ACTIVITY_CONTROL,HS_SUSP_LEVEL,16);
RW_PREPARE_WRITE(LLPC_LEVEL_ACTIVITY_CONTROL,VS_SUSP_LEVEL,16);
RW_WRITE(LLPC_LEVEL_ACTIVITY_CONTROL);
RW_TEST_READ(LLPC_LEVEL_ACTIVITY_CONTROL,HS_VS_ACTIVE_LEVEL,16);
RW_TEST_READ(LLPC_LEVEL_ACTIVITY_CONTROL,PIXEL_SUSP_LEVEL,16);
RW_TEST_READ(LLPC_LEVEL_ACTIVITY_CONTROL,PCLK_SUSP_LEVEL,16);
RW_TEST_READ(LLPC_LEVEL_ACTIVITY_CONTROL,OE_SUSP_LEVEL,16);
RW_TEST_READ(LLPC_LEVEL_ACTIVITY_CONTROL,HS_SUSP_LEVEL,16);
RW_TEST_READ(LLPC_LEVEL_ACTIVITY_CONTROL,VS_SUSP_LEVEL,16);
RW_WRITE_PREVIOUS_VALUE(LLPC_LEVEL_ACTIVITY_CONTROL);
END_RW_TEST();
BEGIN_RW_TEST(LLPC_HFP_HBP,16);
RW_PREPARE_WRITE(LLPC_HFP_HBP,HFP,16);
RW_PREPARE_WRITE(LLPC_HFP_HBP,HBP,16);
RW_WRITE(LLPC_HFP_HBP);
RW_TEST_READ(LLPC_HFP_HBP,HFP,16);
RW_TEST_READ(LLPC_HFP_HBP,HBP,16);
RW_WRITE_PREVIOUS_VALUE(LLPC_HFP_HBP);
END_RW_TEST();
BEGIN_RW_TEST(LLPC_VFP_VBP,16);
RW_PREPARE_WRITE(LLPC_VFP_VBP,VFP,16);
RW_PREPARE_WRITE(LLPC_VFP_VBP,VBP,16);
RW_WRITE(LLPC_VFP_VBP);
RW_TEST_READ(LLPC_VFP_VBP,VFP,16);
RW_TEST_READ(LLPC_VFP_VBP,VBP,16);
RW_WRITE_PREVIOUS_VALUE(LLPC_VFP_VBP);
END_RW_TEST();
BEGIN_RW_TEST(LLPC_VSYNC_INTERRUPT,16);
RW_PREPARE_WRITE(LLPC_VSYNC_INTERRUPT,INT_MODE,16);
RW_PREPARE_WRITE(LLPC_VSYNC_INTERRUPT,VS_INT_ENA,16);
RW_PREPARE_WRITE(LLPC_VSYNC_INTERRUPT,NUM_VS_WAIT_IT,16);
RW_WRITE(LLPC_VSYNC_INTERRUPT);
RW_TEST_READ(LLPC_VSYNC_INTERRUPT,INT_MODE,16);
RW_TEST_READ(LLPC_VSYNC_INTERRUPT,VS_INT_ENA,16);
RW_TEST_READ(LLPC_VSYNC_INTERRUPT,NUM_VS_WAIT_IT,16);
RW_WRITE_PREVIOUS_VALUE(LLPC_VSYNC_INTERRUPT);
END_RW_TEST();
BEGIN_RW_TEST(LLPC_CLK_MODE,16);
RW_PREPARE_WRITE(LLPC_CLK_MODE,CLK13M_REQ,16);
RW_WRITE(LLPC_CLK_MODE);
RW_TEST_READ(LLPC_CLK_MODE,CLK13M_REQ,16);
RW_WRITE_PREVIOUS_VALUE(LLPC_CLK_MODE);
END_RW_TEST();
BEGIN_RW_TEST(LLPC_OE_EVENT,16);
RW_PREPARE_WRITE(LLPC_OE_EVENT,OE_FALLEDGE_IT_ENA,16);
RW_PREPARE_WRITE(LLPC_OE_EVENT,OE_RISEDGE_IT_ENA,16);
RW_WRITE(LLPC_OE_EVENT);
RW_TEST_READ(LLPC_OE_EVENT,OE_FALLEDGE_IT_ENA,16);
RW_TEST_READ(LLPC_OE_EVENT,OE_RISEDGE_IT_ENA,16);
RW_WRITE_PREVIOUS_VALUE(LLPC_OE_EVENT);
END_RW_TEST();
END_ACCESS_MODULE();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -