diff options
author | Roman Yeryomin <roman@advem.lv> | 2012-09-13 00:40:35 +0300 |
---|---|---|
committer | Roman Yeryomin <roman@advem.lv> | 2012-12-03 00:13:21 +0200 |
commit | 5deb3317cb51ac52de922bb55f8492624018906d (patch) | |
tree | c2fbe6346699d9bb0f2100490c3029519bb8fde8 /target/linux/realtek/files/drivers/serial/gpio.h | |
parent | 0239d37124f9184b478a42de8a7fa1bc85a6a6fe (diff) |
Add realtek target files
Signed-off-by: Roman Yeryomin <roman@advem.lv>
Diffstat (limited to 'target/linux/realtek/files/drivers/serial/gpio.h')
-rw-r--r-- | target/linux/realtek/files/drivers/serial/gpio.h | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/target/linux/realtek/files/drivers/serial/gpio.h b/target/linux/realtek/files/drivers/serial/gpio.h new file mode 100644 index 000000000..39019c669 --- /dev/null +++ b/target/linux/realtek/files/drivers/serial/gpio.h @@ -0,0 +1,98 @@ +/* +* Copyright c Realtek Semiconductor Corporation, 2006 +* All rights reserved. +* +* Program : GPIO Header File +* Abstract : +* Author : +* +*/ + + +#ifndef __GPIO__ +#define __GPIO__ + +#ifdef __UBOOT__ +#include <config.h> +#endif +#ifndef __BOOTCODE__ +#include <linux/config.h> +#endif +//#include "voip_types.h" +#include <net/rtl/rtl_types.h> + +#ifdef CONFIG_RTK_VOIP_DRIVERS_PCM8186 +#include "gpio_8186.h" +#elif defined(CONFIG_RTK_VOIP_DRIVERS_PCM8651) +#include "gpio_8651bv.h" +#elif defined(CONFIG_RTK_VOIP_DRIVERS_PCM8671) +#include "gpio_8972.h" +#elif defined(CONFIG_RTK_VOIP_DRIVERS_PCM8672) +#include "gpio_8672.h" +#elif defined(CONFIG_RTK_VOIP_DRIVERS_PCM865xC) +#include "gpio_8952.h" +#elif defined(CONFIG_RTK_VOIP_DRIVERS_PCM8972B_FAMILY) +#include "gpio_8972b.h" +#else +#error "unknown gpio driver" +#endif + +#define _GPIO_DEBUG_ + +#ifdef _GPIO_DEBUG_ +#if defined(CONFIG_RTK_VOIP_DRIVERS_PCM8651) +#define GPIO_PRINT(level, fmt, args...) do { if (gpio_debug >= level) rtlglue_printf(fmt, ## args); } while (0) +#else +#define GPIO_PRINT(level, fmt, args...) do { if (gpio_debug >= level) printk(fmt, ## args); } while (0) +#endif +#else +#define GPIO_PRINT(fmt, args...) +#endif + +/* + * Every pin of GPIO port can be mapped to a unique ID. All the access to a GPIO pin must use the ID. + * This macro is used to map the port and pin into the ID. + */ +#define GPIO_ID(port,pin) ((uint32)port<<16|(uint32)pin) + +/* This is reversed macro. */ +#define GPIO_PORT(id) (id>>16) +#define GPIO_PIN(id) (id&0xffff) + +#ifdef CONFIG_RTK_VOIP_DRIVERS_PCM8186 +#define RTK_GPIO_INIT(pid, dedicate, dir, interrupt) _rtl8186_initGpioPin(pid, dir, interrupt) +#define RTK_GPIO_GET(pid, pData) _rtl8186_getGpioDataBit(pid, pData) +#define RTK_GPIO_SET(pid, data) _rtl8186_setGpioDataBit(pid, data) + +#elif defined(CONFIG_RTK_VOIP_DRIVERS_PCM8651) +#define RTK_GPIO_INIT(pid, dedicate, dir, interrupt) _rtl865x_initGpioPin(pid, dedicate, dir, interrupt) +#define RTK_GPIO_GET(pid, pData) _rtl865x_getGpioDataBit(pid, pData) +#define RTK_GPIO_SET(pid, data) _rtl865x_setGpioDataBit(pid, data) + +#elif defined(CONFIG_RTK_VOIP_DRIVERS_PCM8671) +#define RTK_GPIO_INIT(pid, dedicate, dir, interrupt) _rtl867x_initGpioPin(pid, dir, interrupt) +#define RTK_GPIO_GET(pid, pData) _rtl867x_getGpioDataBit(pid, pData) +#define RTK_GPIO_SET(pid, data) _rtl867x_setGpioDataBit(pid, data) + +#elif defined(CONFIG_RTK_VOIP_DRIVERS_PCM8672) +#define RTK_GPIO_INIT(pid, dedicate, dir, interrupt) _rtl867x_initGpioPin(pid, dir) +#define RTK_GPIO_GET(pid, pData) _rtl867x_getGpioDataBit(pid, pData) +#define RTK_GPIO_SET(pid, data) _rtl867x_setGpioDataBit(pid, data) + +#elif defined(CONFIG_RTK_VOIP_DRIVERS_PCM865xC) +#define RTK_GPIO_INIT(pid, dedicate, dir, interrupt) _rtl865xC_initGpioPin(pid, dedicate, dir, interrupt) +#define RTK_GPIO_GET(pid, pData) _rtl865xC_getGpioDataBit(pid, pData) +#define RTK_GPIO_SET(pid, data) _rtl865xC_setGpioDataBit(pid, data) + +#elif defined(CONFIG_RTK_VOIP_DRIVERS_PCM8972B_FAMILY) +#define RTK_GPIO_INIT(pid, dedicate, dir, interrupt) _rtl8972B_initGpioPin(pid, dedicate, dir, interrupt) +#define RTK_GPIO_GET(pid, pData) _rtl8972B_getGpioDataBit(pid, pData) +#define RTK_GPIO_SET(pid, data) _rtl8972B_setGpioDataBit(pid, data) + +#else +#error "unknown gpio driver" +#endif + +extern int gpio_debug; + +#endif/*__GPIO__*/ |