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

📄 led_apif.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 2002, (C) Copyright 2002 Texas Instruments.  All rights reserved.
//
//   Created	      : 2nd of August, 2002, 12.00pm
//
//   Filename           : led_apif.h
//
//   Description        : Header file for API block
//
//   Project            : HELEN2, OMAP1610, OMAP32
//
//   Author             : Fdelmarco
//   Adapted by         : Dayo Adeyeye
//
//   Date of Module Modification:5/2/02
//   Date of Generation :5/3/02
//
//   FUNCTIONS PROVIDED
//
//===============================================================================

#ifndef LED_APILED__H
#define LED_APILED__H

#define     APILED_BASE_ADDR             0xFFFEC900

//Register Offset
#define  APILED_CTRL_REG_ADDR                     0x00
#define  APILED_DEBUG_ADDR_ADDR                   0x04
#define  APILED_DEBUG_DATA_ADDR                   0x08
#define  APILED_DEBUG_FLAG_ADDR                   0x0C
#define  APILED_STATUS_REG_ADDR                   0x10
#define  APILED_DSP_STATUS_REG_ADDR               0x14
#define  APILED_DSP_BOOT_CONFIG_ADDR              0x18
#define  APILED_DSP_API_CONFIG_ADDR               0x1C
#define  APILED_DSP_MISC_CFG_ADDR                 0x20
#define  APILED_ENHANCED_CNTL_REG_ADDR            0x24


//APILED_CTRL_REG
#define  APILED_CTRL_REG           REG32(APILED_BASE_ADDR+APILED_CTRL_REG_ADDR)

//APILED_DEBUG_ADDR
#define  APILED_DEBUG_ADDR         REG32(APILED_BASE_ADDR+APILED_DEBUG_ADDR_ADDR)

//APILED_DEBUG_DATA
#define  APILED_DEBUG_DATA         REG32(APILED_BASE_ADDR+APILED_DEBUG_DATA_ADDR)

//APILED_DEBUG_FLAG
#define  APILED_DEBUG_FLAG         REG32(APILED_BASE_ADDR+APILED_DEBUG_FLAG_ADDR)

//APILED_STATUS_REG
#define  APILED_STATUS_REG         REG32(APILED_BASE_ADDR+APILED_STATUS_REG_ADDR)

//APILED_DSP_STATUS_REG
#define  APILED_DSP_STATUS_REG     REG32(APILED_BASE_ADDR+APILED_DSP_STATUS_REG_ADDR)

//APILED_DSP_BOOT_CONFIG
#define  APILED_DSP_BOOT_CONFIG    REG32(APILED_BASE_ADDR+APILED_DSP_BOOT_CONFIG_ADDR)

//APILED_DSP_API_CONFIG
#define  APILED_DSP_API_CONFIG     REG16(APILED_BASE_ADDR+APILED_DSP_API_CONFIG_ADDR)

//APILED_DSP_MISC_CFG
#define  APILED_DSP_MISC_CFG       REG32(APILED_BASE_ADDR+APILED_DSP_MISC_CFG_ADDR)

//APILED_ENHANCED_CNTL_REG
#define  APILED_ENHANCED_CNTL_REG  REG32(APILED_BASE_ADDR+APILED_ENHANCED_CNTL_REG_ADDR)

// define types

typedef enum {
  API_LEDHIGH_FREQ_LOW = 0,
  API_LEDHIGH_FREQ_HIGH = 1
} API_LEDHighFreq_t;

typedef enum {
  API_LEDTIMEOUT_DIS = 0,
  API_LEDTIMEOUT_EN = 1
} API_LEDTimeoutEn_t;

typedef enum {
  API_LEDAPI_ERR_DIS = 0,
  API_LEDAPI_ERR_EN = 1
} API_LEDApiErrEn_t;

typedef enum {
  API_LEDACCESS_FACTOR_0 = 0,
  API_LEDACCESS_FACTOR_1,
  API_LEDACCESS_FACTOR_2,
  API_LEDACCESS_FACTOR_3,
  API_LEDACCESS_FACTOR_4,
  API_LEDACCESS_FACTOR_5,
  API_LEDACCESS_FACTOR_6,
  API_LEDACCESS_FACTOR_7,
  API_LEDACCESS_FACTOR_8,
  API_LEDACCESS_FACTOR_9,
  API_LEDACCESS_FACTOR_10,
  API_LEDACCESS_FACTOR_11,
  API_LEDACCESS_FACTOR_12,
  API_LEDACCESS_FACTOR_13,
  API_LEDACCESS_FACTOR_14,
  API_LEDACCESS_FACTOR_15
} API_LEDAccessFactor_t;

typedef enum {
  API_LEDTIMEOUT_MIN = 0,
  API_LEDTIMEOUT_MAX = 255
} API_LEDTimeout_t;

typedef enum {
  API_LEDENDIANISM_NO_CONVERT = 0,
  API_LEDENDIANISM_CONVERT_ALL_ACCESS = 2,
  API_LEDENDIANISM_CONVERT_API_MEM_ONLY = 3
} API_LEDEndianism_t;

typedef enum {
  API_LEDACCESS_PRIORITY_ARM_DMA_OCPI = 0,
  API_LEDACCESS_PRIORITY_ARM_OCPI_DMA = 1,
  API_LEDACCESS_PRIORITY_DMA_ARM_OCPI = 2,
  API_LEDACCESS_PRIORITY_OCPI_ARM_DMA = 3,
  API_LEDACCESS_PRIORITY_DMA_OCPI_ARM = 4,
  API_LEDACCESS_PRIORITY_OCPI_DMA_ARM = 5
} API_LEDAccessPriority_t;

typedef enum {
  API_LEDDSP_BOOT_INTERNAL = 5,
  API_LEDDSP_BOOT_EXTERNAL = 4,
  API_LEDDSP_BOOT_EMIF16 = 3,
  API_LEDDSP_BOOT_IDLE = 2,
  API_LEDDSP_BOOT_PSEUDO_EXT = 1,
  API_LEDDSP_BOOT_MPNMC = 0
} API_LEDDSPBootMode_t;

typedef enum {
  API_LEDAPI_SIZE_MIN = 0,
  API_LEDAPI_SIZE_MAX = 0xFFFF
} API_LEDAPISize_t;


//-------------------------------------------------------------------------------
// NAME        : API_LEDCtrlSetup.
// DESCRIPTION : Setup the configuration of the API.
// PARAMETERS  :
//   high_freq		=> frequency mode.
//   timeout_en		=> enable or disable the timeout feature.
//   api_lederr_en		=> enable the s_nabort signal.
//   access_factor	=> division factor for the access frequency.
//   timeout		=> timeout value.
//   endianism		=> endianism conversion.
//   access_priority	=> APILED access priority.
// RETURN VALUE: None.
// LIMITATIONS : None.
//-------------------------------------------------------------------------------
void API_LEDCtrlSetup (API_LEDHighFreq_t       high_freq,
		    API_LEDTimeoutEn_t      timeout_en,
		    API_LEDApiErrEn_t       api_lederr_en,
		    API_LEDAccessFactor_t   access_factor,
		    API_LEDTimeout_t        timeout,
		    API_LEDEndianism_t      endianism,
		    API_LEDAccessPriority_t access_priority);

//-------------------------------------------------------------------------------
// NAME	      : API_LEDDSPBootConfig.
// DESCRIPTION : Setup the boot configuration of the DSP.
// PARAMETERS  :
//   dsp_boot_mode	=> DSP boot mode.	
//   boot_rhea_ptr1	=> pointer to rhea.
//   boot_rhea_ptr2	=> pointer to rhea.
// RETURN VALUE: None.
// LIMITATIONS : None.
//-------------------------------------------------------------------------------
void API_LEDDSPBootConfig (API_LEDDSPBootMode_t dsp_boot_mode);

//-------------------------------------------------------------------------------
// NAME	      : API_LEDAPISize.
// DESCRIPTION : Specified which blocks of SARAM are accessible in HOM mode.
// PARAMETERS  :
// api_ledsize	 => size.
// RETURN VALUE: None.
// LIMITATIONS : None.
//-------------------------------------------------------------------------------
void API_LEDAPISize (API_LEDAPISize_t api_ledsize);


// define position bit fields
#define API_LEDHIGH_FREQ_POSBIT		0
#define API_LEDTIMEOUT_EN_POSBIT		1
#define API_LEDAPI_ERR_EN_POSBIT		3
#define API_LEDACCESS_FACTOR_POSBIT	4
#define API_LEDTIMEOUT_POSBIT		8
#define API_LEDENDIANISM_POSBIT		16
#define API_LEDACCESS_PRIORITY_POSBIT	18

#define API_LEDABORT_FLAG_POSBIT		0
#define API_LEDAPI_ERR_POSBIT		1
#define API_LEDTIMEOUT_ERR_POSBIT		2
#define API_LEDBURST_SIZE_ERR_POSBIT	3
#define API_LEDBYTE_SAV_POSBIT		4
#define API_LEDRNW_SAV_POSBIT		5
#define API_LEDBURST_SIZE_SAV_POSBIT	6
#define API_LEDCS_SAV_POSBIT		9
#define API_LEDSMOD_SAV_POSBIT		11

#define API_LEDHOMNSAM_FLAG_POSBIT	0
#define API_LEDACCESS_DONE_POSBIT	1
#define API_LEDCS_EN_POSBIT		2
#define API_LEDTIMEOUT_VAL_POSBIT	3
#define API_LEDACCESS_STATUS_POSBIT	11

#define API_LEDRESET_POSBIT		0
#define API_LEDRESET_MCU_POSBIT		1
#define API_LEDCPUXF_POSBIT		2
#define API_LEDCPUAVIS_POSBIT		3
#define API_LEDCPUIACK_POSBIT		4
#define API_LEDPEIDLEPERIPH_POSBIT	5
#define API_LEDPEIDLEDPLL_POSBIT	6
#define API_LEDPEIDLE6_POSBIT		7
#define API_LEDPEIDLE7_POSBIT		8
#define API_LEDPENRESETDPLL_POSBIT      9
#define API_LEDHAHOMNSAM_POSBIT		10
#define API_LEDHRHOMNSAM_POSBIT		11

#define API_LEDDSP_BOOT_MODE_POSBIT	0
#define API_LEDBOOT_RHEA_PTR1_POSBIT	4
#define API_LEDBOOT_RHEA_PTR2_POSBIT	10

#define API_LEDCPUBIOB_POSBIT		8


#endif  // _LED_APILED__H

⌨️ 快捷键说明

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