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

📄 llpc.c

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 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 + -