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

📄 led_dmled.h

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 H
字号:
/*==============================================================================
//            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 2004, (C) Copyright 2004 Texas Instruments.  All rights reserved.
//
//   Created	        : 31st of August, 2004, 10.20 am
//   Filename           : led_dmled.h
//   Description        : Header file for DMLED ARM926EJS assembler programs
//   Project            : Neptune, OMAP171x
//   Author             : Dayo Adeyeye
//
//   FUNCTIONS PROVIDED :
//
//   Available Functions:
//          Common 
//                 RES_SetDMLED - Sets a value in results table
//       ARM11 only
//                 RES_SetLCTnDMLED - Sets the location in memory
*                  RES_Init_SimRes - Initialize simulated result space with BABE
*                  RES_ResComp - Compare the expected and simulated result.
//                 RES_EndDMLED - End spy simulation by writing 'illegal' value.
//                 RES_GetFinalStatus - Gets final error status
//
============================================================================= */

#ifndef _LED_DMLED__H
#define _LED_DMLED__H

/* ============================================================================
* PROJECT SPECIFIC INCLUDE FILES
* ========================================================================== */
#include "global_types.h"

/* ============================================================================
* EXPORTED DEFINITIONS
* ========================================================================== */
#define CTEDM_Space_RAM    0x20000010 // 4(TLB)+48Bytes(CTE)+256Bytes(Spy) in TestSRAM

// CTEDM Mapping, 24 x 16bits = 48bytes
#define CTEDM_ARM9_SRC_SIZE_LSB     REG16(CTEDM_Space_RAM+0)
#define CTEDM_ARM9_SRC_SIZE_MSB     REG16(CTEDM_Space_RAM+2)
#define CTEDM_LEAD3_SRC_SIZE_LSB    REG16(CTEDM_Space_RAM+4)
#define CTEDM_LEAD3_SRC_SIZE_MSB    REG16(CTEDM_Space_RAM+6)
#define CTEDM_DPLL1_BYPASS_VALUE    REG16(CTEDM_Space_RAM+8)
#define CTEDM_ARM_CLK_CONTROL       REG16(CTEDM_Space_RAM+10)
#define CTEDM_SYNC_BYPASS_MODE      REG16(CTEDM_Space_RAM+12)
#define CTEDM_CLK_STDY_BYPASS       REG16(CTEDM_Space_RAM+14)
#define CTEDM_SYNC_INTSRC_TESTCASE  REG16(CTEDM_Space_RAM+16)
#define CTEDM_WAKE_INTSRC_TESTCASE  REG16(CTEDM_Space_RAM+18)
#define CTEDM_GPIO_ADDR_LSB         REG16(CTEDM_Space_RAM+20)
#define CTEDM_GPIO_ADDR_MSB         REG16(CTEDM_Space_RAM+22)
#define CTEDM_GPIO_SYNC_PIN         REG16(CTEDM_Space_RAM+24)
#define CTEDM_GPIO_EXEC_PIN         REG16(CTEDM_Space_RAM+26)
#define CTEDM_GPIO_STAT_PIN         REG16(CTEDM_Space_RAM+28)
#define CTEDM_GPIO2_ADDR_LSB        REG16(CTEDM_Space_RAM+30)
#define CTEDM_GPIO2_ADDR_MSB        REG16(CTEDM_Space_RAM+32)
#define CTEDM_ULPD_TIMEOUT_VALUE    REG16(CTEDM_Space_RAM+34)
#define CTEDM_EXEC_TIMEOUT_VALUE    REG16(CTEDM_Space_RAM+36)
#define CTEDM_NO_REPEAT             REG16(CTEDM_Space_RAM+38)
#define CTEDM_NORESCOMP             REG16(CTEDM_Space_RAM+40)
#define CTEDM_22                    REG16(CTEDM_Space_RAM+44)
#define CTEDM_23                    REG16(CTEDM_Space_RAM+48)
#define CTEDM_24                    REG16(CTEDM_Space_RAM+50)

/* ----------------------------------------------------------------------------
* Definition: RES_*_BASE
* DESCRIPTION: Base Value (Upper Byte) for library components
* -------------------------------------------------------------------------- */
#define START_ARRAY_DATA        0xF001 
#define END_ARRAY_DATA          0xF002
#define RESULT_SEPARATOR        0xAAAA
#define RES_TST_FAILED          0xDEAD
#define RES_TST_PASSED          0xACED
#define RET_OK 			0x0
#define RET_FAIL 		0x1

/* ----------------------------------------------------------------------------
* Definition: RES_MIN_*_VAL,RES_MAX_*_VAL
* DESCRIPTION: The ranges of PASS and FAIL values of lower byte that can written 
*              to results table spy 
* -------------------------------------------------------------------------- */
/* range of good / OK result values */
#define RES_MIN_OK_VAL          0x0000
#define RES_MAX_OK_VAL          0x000F
/* range of bad / fail result values */
#define RES_MIN_BAD_VAL         0x0010
#define RES_MAX_BAD_VAL         0x00FE

/* ----------------------------------------------------------------------------
* Definition: RES_*_*
* DESCRIPTION: List of Good/Pass results values
* -----------------------------------------------------------------------------
*/
/* list of good / OK result values */
#define RES_TEST_PASSED                 0x0000 + RES_MIN_OK_VAL
#define RES_SPY_INIT_OK                 0x0001 + RES_MIN_OK_VAL
#define RES_INIT_OK                     0x0002 + RES_MIN_OK_VAL
#define RES_FINISHED_OK                 0x0003 + RES_MIN_OK_VAL
// #define RES_OK                          0x0004 + RES_MIN_OK_VAL
#define RES_SEPERATOR                   0x0005 + RES_MIN_OK_VAL
#define RES_RESET_VALUE_SEPARATOR       0x0006 + RES_MIN_OK_VAL
#define RES_MODULE_SEPARATOR            0x0007 + RES_MIN_OK_VAL
#define RES_GLOBAL_TEST_SEPARATOR       0x0008 + RES_MIN_OK_VAL

#define RES_START_ARRAY                 0x000E + RES_MIN_OK_VAL
#define RES_NOP_VALUE                   0x000F + RES_MIN_OK_VAL

/* ----------------------------------------------------------------------------
* Definition: RES_*_*
* DESCRIPTION: List of Bad/Fail results values
*
* -----------------------------------------------------------------------------
*/
/* list of bad / fail result values */
#define RES_TEST_FAILED                 0x0000 + RES_MIN_BAD_VAL
#define RES_NOT_FINISHED                0x0001 + RES_MIN_BAD_VAL
#define RES_FINISHED_BAD                0x0002 + RES_MIN_BAD_VAL
#define RES_INIT_BAD                    0x0003 + RES_MIN_BAD_VAL
#define RES_DEINIT_BAD                  0x0004 + RES_MIN_BAD_VAL
// #define RES_BAD                         0x0005 + RES_MIN_BAD_VAL
#define RES_TIMEOUT_ERR                 0x0006 + RES_MIN_BAD_VAL
#define RES_BUSY                        0x0007 + RES_MIN_BAD_VAL

#define RES_LIB_FAIL                    0x0010 + RES_MIN_BAD_VAL
#define RES_READ_FAIL                   0x0011 + RES_MIN_BAD_VAL
#define RES_WRITE_FAIL                  0x0012 + RES_MIN_BAD_VAL
#define RES_RESET_FAIL                  0x0013 + RES_MIN_BAD_VAL
#define RES_CLEAR_FAIL                  0x0014 + RES_MIN_BAD_VAL
#define RES_SET_FAIL                    0x0015 + RES_MIN_BAD_VAL
#define RES_GET_FAIL                    0x0016 + RES_MIN_BAD_VAL
#define RES_ENABLE_FAIL                 0x0017 + RES_MIN_BAD_VAL
#define RES_DISABLE_FAIL                0x0018 + RES_MIN_BAD_VAL
#define RES_OPEN_FAIL                   0x0019 + RES_MIN_BAD_VAL
#define RES_CLOSE_FAIL                  0x001A + RES_MIN_BAD_VAL
#define RES_START_FAIL                  0x001B + RES_MIN_BAD_VAL
#define RES_STOP_FAIL                   0x001C + RES_MIN_BAD_VAL

#define RES_INVALID_INPUT_PARAM         0x0020 + RES_MIN_BAD_VAL
#define RES_DATA_MISMATCH               0x0021 + RES_MIN_BAD_VAL
#define RES_INPUT_CHECK_FAIL            0x0022 + RES_MIN_BAD_VAL
#define RES_TABLE_FULL_FAIL             0x0023 + RES_MIN_BAD_VAL

#define RES_EXCPT_UNDEFINED             0x0030 + RES_MIN_BAD_VAL
#define RES_EXCPT_PREFETCH_ABORT        0x0031 + RES_MIN_BAD_VAL
#define RES_EXCPT_DATA_ABORT            0x0032 + RES_MIN_BAD_VAL

/* ============================================================================
* EXPORTED FUNCTIONS/MACROS
* ========================================================================== */
/* ----------------------------------------------------------------------------
* FUNCTION	 : DMLED_Init
* INPUTS	 : None
* RETURNS	 : None
* PURPOSE        : Initialize 
* METHOD         : 
* -------------------------------------------------------------------------- */
extern UWORD16 DMLED_Init(void);

/* ----------------------------------------------------------------------------
* FUNCTION	 : DMLED_DeInit
* INPUTS	 : None
* RETURNS	 : None
* PURPOSE        : De-Initialize
* METHOD         : 
* -------------------------------------------------------------------------- */
extern UWORD16 DMLED_DeInit(void);

/* ============================================================================
* EXPORTED FUNCTIONS/MACROS
* ========================================================================== */

/* ----------------------------------------------------------------------------
* FUNCTION		: RES_SetDMLED
* INPUTS:
* 	Identifier	: status 
* 	Type		: const UWORD16 
* 	Description	: status result to be written 
* RETURNS:			
*
* 	Type		: UWORD16 
* 	Description	: RET_OK             No errors occured
*                         RET_FULL           Not enough space to write result
* PURPOSE: 		: Set status to next available space in results table
*                 Note that the upper or lower byte should not have a value
*                 of OxFF as this will end simulation. If a user requires to
*                 store an unknown value in the results array then the 
*                 function RES_SetVar() should be used.
* METHOD:		: Check if enough space
*                         Set status in table at specified index
* -------------------------------------------------------------------------- */
extern UWORD16 RES_SetDMLED( const UWORD16 status);

/* ----------------------------------------------------------------------------
* FUNCTION		: RES_ResComp
* INPUTS                :
* 	Identifier	: numArray
* 	Type		: const UWORD16
* 	Description	: number of elements in expected result array
* RETURNS               :
* 	Type		: UWORD16
* 	Description	: RET_OK, Number errors occured
* PURPOSE: 		: Compares the simulated spy result with the expected
*                       : Expected spy result.
* ------------------------------------------------------------------------- */
extern UWORD16 RES_ResComp (const UWORD16 numArray);

/* ----------------------------------------------------------------------------
* FUNCTION	 : RES_Init_SimRes
* INPUTS	 : None
* RETURNS	 : None
* PURPOSE        : Initialize internal Simulated Result SPY Memory Space Reset
* METHOD         : Pointers, set global result to No Error and clear all spy
*                  halfwords to 0xBABE.
* -------------------------------------------------------------------------- */
extern UWORD16 RES_Init_SimRes(void);

/* ----------------------------------------------------------------------------
* FUNCTION		: RES_SetLCTnDMLED
* INPUTS:			
* 	Identifier	: startAddress 
* 	Type		: const UWORD32
* 	Description	: startAddress is Start Address of Result Area 
* RETURNS:			
* 	Type		: UWORD16 
* 	Description	: RET_OK              No errors occured
* PURPOSE: 		: Set the location address of the result area values
* METHOD:		: Check input parameters
*                         Set start address of result area
* NOTE:         : This function should in general not be called in test cases
* -------------------------------------------------------------------------- */
extern UWORD16 RES_SetLCTnDMLED(const UWORD32 startAddress);
		
/* ----------------------------------------------------------------------------
* FUNCTION		: RES_GetFinalStatus
* OUTPUTS		:
* 	Identifier	: pFinalRes 
* 	Type		: UWORD16 *const 
* 	Description	: If error returns final error value 
* RETURNS:			
* 	Type		: UWORD16 
* 	Description	: RET_OK         No errors occured
*                         RET_FAIL       If e bad result value has been written
* PURPOSE: 	: Checks to see if error value written to table.
*                 And PASS/FAIL written to first value in table
* METHOD:	: Parses internal results array and checks to see if any of
*                 the results codes written indicate that the test failed.
*                 And PASS/FAIL written to first value in table.
* NOTE:         : This function should in general not be called in test cases
* --------------------------------------------------------------------------- */
extern UWORD16 RES_GetFinalStatus(UWORD16 *const pFinalRes);

/* ----------------------------------------------------------------------------
* FUNCTION		: RES_EndDMLED
* RETURNS:
* 	Type		: UWORD16 
* 	Description	: RET_OK              No errors occured
* PURPOSE: 		: This Function is called to indicate that a test case is finished.
* METHOD:		: Write END test indicator to end of array
* NOTE:         : This function should in general not be called in test cases
* --------------------------------------------------------------------------- */
extern UWORD16 RES_EndDMLED(void);

/* ----------------------------------------------------------------------------
* --------------------------------------------------------------------------- */
extern void DMLED_CLKCFG(void);

extern void DMLED_A9FLUSH(void);

extern void DMLED_Results(UWORD32 gpio2_base_addr, 
			    UWORD32 gpio_execpin, 
			    UWORD32 gpio_syncpin,
			    UWORD32 gpio_statpin,
			    UWORD32 gpio_base_addr);


#endif	/* _LED_DMLED__H */


⌨️ 快捷键说明

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