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

📄 dsp_gpio.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 1999, (C) Copyright 1999 Texas Instruments.  All rights reserved.

   Filename             : dsp_gpio_a9.h

   Description          : Header file for the MPU DSP_GPIO functions

   Project              : OMAP

   Author               : Achuta Thippana

   MACROS PROVIDED      :
                         dsp_gpio_set_all_dor
                         dsp_gpio_set_all_dcr
                         dsp_gpio_set_all_icr			 
                         dsp_gpio_set_all_imr
                         dsp_gpio_reset_all_isr    
  
 FUNCTIONS PROVIDED    :
                         GPIO_LeadReadAllDir
                         GPIO_LeadReadAllDor
                         GPIO_LeadReadAllDcr
                         GPIO_LeadReadAllIcr			 
                         GPIO_LeadReadAllImr
                         GPIO_LeadReadAllIsr 
===============================================================================
*/
#ifndef _DSP_GPIO__HH
#define _DSP_GPIO__HH

#include "global_types.h"
#include "mem.h"

#define DSP_DIR_REG_OFFSET 0x000
#define DSP_DOR_REG_OFFSET 0x004
#define DSP_DCR_REG_OFFSET 0x008
#define DSP_ICR_REG_OFFSET 0x00C
#define DSP_IMR_REG_OFFSET 0x010
#define DSP_ISR_REG_OFFSET 0x014

#define DSP_DIR_REG_ADDR  (MEM_DSP_GPIO_ADDR + DSP_DIR_REG_OFFSET)
#define DSP_DOR_REG_ADDR  (MEM_DSP_GPIO_ADDR + DSP_DOR_REG_OFFSET)
#define DSP_DCR_REG_ADDR  (MEM_DSP_GPIO_ADDR + DSP_DCR_REG_OFFSET)
#define DSP_ICR_REG_ADDR  (MEM_DSP_GPIO_ADDR + DSP_ICR_REG_OFFSET)
#define DSP_IMR_REG_ADDR  (MEM_DSP_GPIO_ADDR + DSP_IMR_REG_OFFSET)
#define DSP_ISR_REG_ADDR  (MEM_DSP_GPIO_ADDR + DSP_ISR_REG_OFFSET)

#define DSP_DIR_RESET_VAL 0x0000
#define DSP_DOR_RESET_VAL 0x0000
#define DSP_DCR_RESET_VAL 0xFFFF
#define DSP_ICR_RESET_VAL 0xFFFF
#define DSP_IMR_RESET_VAL 0xFFFF
#define DSP_ISR_RESET_VAL 0x0000


enum { DSP_IT_UNMASK, DSP_IT_MASK };
enum { DSP_FALLING_EDGE, DSP_RISING_EDGE };
enum { DSP_NO_IT_REQUEST, DSP_IT_REQUEST };
enum { DSP_OUTPUT_IO, DSP_INPUT_IO };


/*############################################################################
 NAME        : DSP_GPIO_SET_BIT
 DESCRIPTION : Modifies a bit in a 16 bits register
 PARAMETERS  : BitNumber : BIT(0..15) (Bit to modify)
               Value : 0 / 1
 RETURN VALUE: The value of the interrupt INT_Number
 LIMITATIONS : None                                                        
############################################################################*/
#define DSP_GPIO_SET_BIT(Adress, BitNumber, Value)     \
          REG16(Adress)= (Value)==0x0 ?             \
              REG16(Adress)&(~(0x1<<(BitNumber))) :  \
              REG16(Adress)|(0x1<<(BitNumber)) 

  /*
-----------------------------------------------------------------------------
 NAME        : dsp_gpio_set_all_dor                                             -
 DESCRIPTION : Set the data output register                                 -
 SYNOPSYS    : void dsp_gpio_set_all_dor(UWORD16 data_out)                      -
 PARAMETERS  : Output register pins                                         -
 RETURN VALUE: None.                                                        -
 LIMITATIONS : None                                                         -
-----------------------------------------------------------------------------
*/ 
#define dsp_gpio_set_all_dor(data_reg) \
{ \
  *(REGISTER_UWORD16 *)DSP_DOR_REG_ADDR = data_reg;\
}

  /*
-----------------------------------------------------------------------------
 NAME        : dsp_gpio_set_all_dcr                                             -
 DESCRIPTION : Set the direction control register                           -
 SYNOPSYS    : void dsp_gpio_set_all_dcr(UWORD16 data_out)                      -
 PARAMETERS  : Output register pins                                         -
 RETURN VALUE: None.                                                        -
 LIMITATIONS : None                                                         -
-----------------------------------------------------------------------------
*/ 
#define dsp_gpio_set_all_dcr(data_reg) \
{ \
  *(REGISTER_UWORD16 *)DSP_DCR_REG_ADDR = data_reg;\
}


  /*
-----------------------------------------------------------------------------
 NAME        : dsp_gpio_set_all_icr                                             -
 DESCRIPTION : Set the interrupt control register                           -
 SYNOPSYS    : void dsp_gpio_set_all_icr(UWORD16 data_out)                      -
 PARAMETERS  : Output register pins                                         -
 RETURN VALUE: None.                                                        -
 LIMITATIONS : None                                                         -
-----------------------------------------------------------------------------
*/ 
#define dsp_gpio_set_all_icr(data_reg) \
{ \
  *(REGISTER_UWORD16 *)DSP_ICR_REG_ADDR = data_reg;\
}

  /*
-----------------------------------------------------------------------------
 NAME        : dsp_gpio_set_all_imr                                             -
 DESCRIPTION : Set the interrupt mask register                              -
 SYNOPSYS    : void dsp_gpio_set_all_imr (UWORD16 data_out)                     -
 PARAMETERS  : Output register pins                                         -
 RETURN VALUE: None.                                                        -
 LIMITATIONS : None                                                         -
-----------------------------------------------------------------------------
*/ 
#define dsp_gpio_set_all_imr(data_reg) \
{ \
  *(REGISTER_UWORD16 *)DSP_IMR_REG_ADDR = data_reg;\
}

/*############################################################################
 NAME        : GPIO_SET_MASK_IT_BIT
 DESCRIPTION : Mask / Unmask an interrupt bit
 PARAMETERS  : BIT(0..15) : Bit to modify
               IT_MASKED/IT_UNMASKED
 RETURN VALUE: None
 LIMITATIONS : None                                                        
############################################################################*/
#define dsp_gpio_set_mask_it_bit(BitNumber, Mask) \
        DSP_GPIO_SET_BIT(DSP_IMR_REG_ADDR,BitNumber,Mask)

  /*
-----------------------------------------------------------------------------
 NAME        : dsp_gpio_set_all_isr                                             -
 DESCRIPTION : Set the interrupt status register                            -
 SYNOPSYS    : void dsp_gpio_set_all_isr (UWORD16 data_out)                     -
 PARAMETERS  : Output register pins                                         -
 RETURN VALUE: None.                                                        -
 LIMITATIONS : None                                                         -
-----------------------------------------------------------------------------
*/ 
#define dsp_gpio_set_all_isr(data_reg) \
{ \
  *(REGISTER_UWORD16 *)DSP_ISR_REG_ADDR = data_reg;\
}
 
/*
-------------------------------------------------------------------------
 NAME        : GPIO_LeadReadAllDir        
 DESCRIPTION : read DSP_GPIO inputs
 PARAMETERS  : None.                                                        
 RETURN VALUE: input values
 LIMITATIONS : None                                                         
-------------------------------------------------------------------------
*/
UWORD16 GPIO_LeadReadAllDir (void);
/*
-------------------------------------------------------------------------
 NAME        : dsp_gpio_read_all_oir        
 DESCRIPTION : read DSP_GPIO outputs
 PARAMETERS  : None.                                                        
 RETURN VALUE: output values
 LIMITATIONS : None                                                         
-------------------------------------------------------------------------
*/
UWORD16 GPIO_LeadReadAllDor (void);
/*
-------------------------------------------------------------------------
 NAME        : GPIO_LeadReadAllDcr        
 DESCRIPTION : read DSP_GPIO inputs
 PARAMETERS  : None.                                                        
 RETURN VALUE: input value
 LIMITATIONS : None                                                         
-------------------------------------------------------------------------
*/
UWORD16 GPIO_LeadReadAllDcr (void);
/*
-------------------------------------------------------------------------
 NAME        : GPIO_LeadReadAllIcr        
 DESCRIPTION : read interrupt control register 
	  0 = high to low transition
	  1 = low to high transition 
 PARAMETERS  : None.                                                        
 RETURN VALUE: interrupt control register 
 LIMITATIONS : None                                                         
-------------------------------------------------------------------------
*/
UWORD16 GPIO_LeadReadAllIcr (void);
/*
-------------------------------------------------------------------------
 NAME        : GPIO_LeadReadAllDir        
 DESCRIPTION : read interrupt mask register 
	  0 = unmasked
	  1 = masked
 PARAMETERS  : None.                                                        
 RETURN VALUE: interrupt mask register value
 LIMITATIONS : None                                                         
-------------------------------------------------------------------------
*/
UWORD16 GPIO_LeadReadAllImr (void);
/*
-------------------------------------------------------------------------
 NAME        : GPIO_LeadReadAllIsr        
 DESCRIPTION : read interrupt status register 
	  0 = no interrupt request
	  1 = interrupt request PARAMETERS  : None.                                                        
 RETURN VALUE: interrupt status register  value
 LIMITATIONS : None                                                         
-------------------------------------------------------------------------
*/
UWORD16 GPIO_LeadReadAllIsr (void);

#endif



⌨️ 快捷键说明

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