2008-07-05 10:02:49 +02:00
/*
* Copyright 2007 Freescale Semiconductor , Inc . All Rights Reserved .
* Copyright 2008 Juergen Beisert , kernel @ pengutronix . de
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation ; either version 2
* of the License , or ( at your option ) any later version .
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 , USA .
*/
# ifndef __ASM_ARCH_MXC_GPIO_H__
# define __ASM_ARCH_MXC_GPIO_H__
2008-08-05 16:14:15 +01:00
# include <mach/hardware.h>
2008-07-05 10:02:49 +02:00
# include <asm-generic/gpio.h>
/* use gpiolib dispatchers */
# define gpio_get_value __gpio_get_value
# define gpio_set_value __gpio_set_value
# define gpio_cansleep __gpio_cansleep
2008-12-18 11:08:55 +01:00
# define gpio_to_irq(gpio) (MXC_GPIO_IRQ_START + (gpio))
# define irq_to_gpio(irq) ((irq) - MXC_GPIO_IRQ_START)
2008-07-05 10:02:49 +02:00
struct mxc_gpio_port {
void __iomem * base ;
int irq ;
int virtual_irq_start ;
struct gpio_chip chip ;
2009-03-12 12:46:41 +01:00
u32 both_edges ;
2008-07-05 10:02:49 +02:00
} ;
int mxc_gpio_init ( struct mxc_gpio_port * , int ) ;
# endif