From 5deb3317cb51ac52de922bb55f8492624018906d Mon Sep 17 00:00:00 2001 From: Roman Yeryomin Date: Thu, 13 Sep 2012 00:40:35 +0300 Subject: Add realtek target files Signed-off-by: Roman Yeryomin --- target/linux/realtek/files/drivers/serial/gpio.h | 98 ++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 target/linux/realtek/files/drivers/serial/gpio.h (limited to 'target/linux/realtek/files/drivers/serial/gpio.h') 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 +#endif +#ifndef __BOOTCODE__ +#include +#endif +//#include "voip_types.h" +#include + +#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__*/ -- cgit v1.2.3