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

📄 ixp425gpio.h

📁 INTEL IXP425的VXWORKS BSP
💻 H
字号:
/* ixp425Gpio.h - Intel IXP425 GPIO header file *//* Copyright 2002 Wind River Systems, Inc. *//*modification history--------------------01a,05jun02,jb  initial version...*/#ifndef __INCixp425Gpioh #define __INCixp425Gpioh#include "ixp425.h"#ifdef __cplusplusextern "C" {#endif#define IXP425_GPIO_PIN_MAX 15	/* 16 pins (incl. 0) *//* GPIO pin mappings */#define IXP425_GPIO_PIN_16 16#define IXP425_GPIO_PIN_15 15#define IXP425_GPIO_PIN_14 14#define IXP425_GPIO_PIN_13 13#define IXP425_GPIO_PIN_12 12#define IXP425_GPIO_PIN_11 11#define IXP425_GPIO_PIN_10 10#define IXP425_GPIO_PIN_9  9#define IXP425_GPIO_PIN_8  8#define IXP425_GPIO_PIN_7  7#define IXP425_GPIO_PIN_6  6#define IXP425_GPIO_PIN_5  5#define IXP425_GPIO_PIN_4  4#define IXP425_GPIO_PIN_3  3#define IXP425_GPIO_PIN_2  2#define IXP425_GPIO_PIN_1  1#define IXP425_GPIO_PIN_0  0/*  * All pins are configured as inputs by default with the exception of pin 15 * which is configured to be a clock source. */#ifndef IXP425_GPIO_GPOER_DEF#define IXP425_GPIO_GPOER_DEF (0x7FFF)#endif/* * Default value to set pins at. */#ifndef IXP425_GPIO_GPOUTR_DEF#define IXP425_GPIO_GPOUTR_DEF (0x0)#endif/* * Pin 15 is clock source at 33MHZ by default. */#ifndef IXP425_GPIO_GPCLKR_DEF#define IXP425_GPIO_GPCLKR_DEF (0x01100000)#endif/* Interrupts are active low by default */#ifndef IXP425_GPIO_GPIT1R_DEF#define IXP425_GPIO_GPIT1R_DEF (0x0)#endif#ifndef IXP425_GPIO_GPIT2R_DEF#define IXP425_GPIO_GPIT2R_DEF (0x0)#endif/*  * Macros used by ixp425GPIOLineGet() and ixp425GPIOLineSet() to get and * set pin values. They may be used by client software for the purposes * of speed but it is recommended that the API functions be used as * they provide error checking. */#define IXP425_GPIO_LINE_GET(pin) \(((*(volatile UINT32 *) IXP425_GPIO_GPINR) >> (pin)) & 0x1)#define IXP425_GPIO_LINE_SET(pin) \	(*(volatile UINT32 *) IXP425_GPIO_GPOUTR) |= (0x1 << (pin));#define IXP425_GPIO_LINE_CLEAR(pin) \	(*(volatile UINT32 *) IXP425_GPIO_GPOUTR) &= ~(0x1 << (pin));/* GPIO pin types */#define IXP425_GPIO_OUT (0x1)#define IXP425_GPIO_IN  (0x2) /* GPIO signal types */typedef enum _IXP425_GPIO_SIG{    IXP425_GPIO_LOW =0,    IXP425_GPIO_HIGH} IXP425_GPIO_SIG;/* GPIO interrupt types */#define IXP425_GPIO_ACTIVE_HIGH	(0x4)		/* Default */#define IXP425_GPIO_ACTIVE_LOW	(0x8) #define IXP425_GPIO_RISING_EDGE	(0x10)#define IXP425_GPIO_FALLING_EDGE (0x20)#define IXP425_GPIO_TRANSITIONAL (0x40)/* GPIO Clocks */typedef enum _IXP425_GPIO_CLK_NO{    IXP425_GPIO_CLK_0 = 14,    IXP425_GPIO_CLK_1 = 15} IXP425_GPIO_CLK_NO;/*  * GPIO clock frequencies. These correspond to fractions of the * 66 MHz APB clock. */typedef enum _IXP425_GPIO_CLK_FREQ{    IXP425_GPIO_33_MHZ = 0x1,		/* Default */    IXP425_GPIO_22_MHZ = 0x2,    IXP425_GPIO_16_5_MHZ = 0x3,    IXP425_GPIO_13_2_MHZ = 0x4,    IXP425_GPIO_11_MHZ = 0x5,    IXP425_GPIO_9_4_MHZ	= 0x6,    IXP425_GPIO_8_3_MHZ	= 0x7,    IXP425_GPIO_7_3_MHZ	= 0x8,    IXP425_GPIO_6_6_MHZ	= 0x9,    IXP425_GPIO_6_MHZ = 0xA,    IXP425_GPIO_5_5_MHZ	= 0xB,    IXP425_GPIO_5_1_MHZ	= 0xC,    IXP425_GPIO_4_7_MHZ	= 0xD,    IXP425_GPIO_4_4_MHZ	= 0xF} IXP425_GPIO_CLK_FREQ;#define IXP425_GPIO_DEBUG_NPEA	(0x0)#define IXP425_GPIO_DEBUG_NPEB	(0x1)#define IXP425_GPIO_DEBUG_NPEC	(0x2)#ifdef IXP425_GPIO_CODE_REENTRANT #define IXP425_GPIO_INTLOCK(key)  #define IXP425_GPIO_INTUNLOCK(key) #define IXP425_GPIO_KEYDECLARE#else #define IXP425_GPIO_INTLOCK(key) (key = intLock()) #define IXP425_GPIO_INTUNLOCK(key) (intUnlock(key)) #define IXP425_GPIO_KEYDECLARE int intKey#endif /* IXP425_CODE_REENTRANT *//* Function Declarations */void ixp425GPIOReset (void);STATUS ixp425GPIOLineConfig (UINT8 lineNo, UINT32 style);STATUS ixp425GPIOLineSet (UINT8 lineNo, IXP425_GPIO_SIG value);STATUS ixp425GPIOLineGet (UINT8 lineNo, IXP425_GPIO_SIG *value);STATUS ixp425GPIOIntStatusGet (UINT8 lineNo, BOOL *status);STATUS ixp425GPIOIntStatusClear (UINT8 lineNo);STATUS ixp425GPIOClockSet (IXP425_GPIO_CLK_NO clock, IXP425_GPIO_CLK_FREQ freq);STATUS ixp425GPIOClockEnable (IXP425_GPIO_CLK_NO clock, BOOL state);void ixp425GPIOShow (void);#ifdef IXP425_GPIO_NPEDEBUGSTATUS ixp425GPIONPEDebugEnable (UINT32 npe, BOOL state);#endif /* IXP425_GPIO_NPEDEBUG */#ifdef __cplusplus}#endif#endif /* __INCixp425Gpioh */ 

⌨️ 快捷键说明

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