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

📄 gpio.h

📁 linux 内核源代码
💻 H
字号:
#ifndef _IMX_GPIO_H#include <asm/arch/imx-regs.h>#define IMX_GPIO_ALLOC_MODE_NORMAL	0#define IMX_GPIO_ALLOC_MODE_NO_ALLOC	1#define IMX_GPIO_ALLOC_MODE_TRY_ALLOC	2#define IMX_GPIO_ALLOC_MODE_ALLOC_ONLY	4#define IMX_GPIO_ALLOC_MODE_RELEASE	8extern int imx_gpio_request(unsigned gpio, const char *label);extern void imx_gpio_free(unsigned gpio);extern int imx_gpio_setup_multiple_pins(const int *pin_list, unsigned count,					int alloc_mode, const char *label);extern int imx_gpio_direction_input(unsigned gpio);extern int imx_gpio_direction_output(unsigned gpio, int value);extern void __imx_gpio_set_value(unsigned gpio, int value);static inline int imx_gpio_get_value(unsigned gpio){	return SSR(gpio >> GPIO_PORT_SHIFT) & (1 << (gpio & GPIO_PIN_MASK));}static inline void imx_gpio_set_value_inline(unsigned gpio, int value){	unsigned long flags;	raw_local_irq_save(flags);	if(value)		DR(gpio >> GPIO_PORT_SHIFT) |= (1 << (gpio & GPIO_PIN_MASK));	else		DR(gpio >> GPIO_PORT_SHIFT) &= ~(1 << (gpio & GPIO_PIN_MASK));	raw_local_irq_restore(flags);}static inline void imx_gpio_set_value(unsigned gpio, int value){	if(__builtin_constant_p(gpio))		imx_gpio_set_value_inline(gpio, value);	else		__imx_gpio_set_value(gpio, value);}extern int imx_gpio_to_irq(unsigned gpio);extern int imx_irq_to_gpio(unsigned irq);/*-------------------------------------------------------------------------*//* Wrappers for "new style" GPIO calls. These calls i.MX specific versions * to allow future extension of GPIO logic. */static inline int gpio_request(unsigned gpio, const char *label){	return imx_gpio_request(gpio, label);}static inline void gpio_free(unsigned gpio){	imx_gpio_free(gpio);}static inline  int gpio_direction_input(unsigned gpio){	return imx_gpio_direction_input(gpio);}static inline int gpio_direction_output(unsigned gpio, int value){	return imx_gpio_direction_output(gpio, value);}static inline int gpio_get_value(unsigned gpio){	return imx_gpio_get_value(gpio);}static inline void gpio_set_value(unsigned gpio, int value){	imx_gpio_set_value(gpio, value);}#include <asm-generic/gpio.h>		/* cansleep wrappers */static inline int gpio_to_irq(unsigned gpio){	return imx_gpio_to_irq(gpio);}static inline int irq_to_gpio(unsigned irq){	return imx_irq_to_gpio(irq);}#endif

⌨️ 快捷键说明

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