1 /* 2 * Copyright (c) 2009 Wind River Systems, Inc. 3 * Tom Rix <Tom.Rix@windriver.com> 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU General Public License as 7 * published by the Free Software Foundation; either version 2 of 8 * the License, or (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 18 * MA 02111-1307 USA 19 * 20 * This work is derived from the linux 2.6.27 kernel source 21 * To fetch, use the kernel repository 22 * git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 23 * Use the v2.6.27 tag. 24 * 25 * Below is the original's header including its copyright 26 * 27 * linux/arch/arm/plat-omap/gpio.c 28 * 29 * Support functions for OMAP GPIO 30 * 31 * Copyright (C) 2003-2005 Nokia Corporation 32 * Written by Juha Yrjölä <juha.yrjola@nokia.com> 33 * 34 * This program is free software; you can redistribute it and/or modify 35 * it under the terms of the GNU General Public License version 2 as 36 * published by the Free Software Foundation. 37 */ 38 #ifndef _GPIO_H 39 #define _GPIO_H 40 41 #include <asm/arch/cpu.h> 42 43 struct gpio_bank { 44 void *base; 45 int method; 46 }; 47 48 extern const struct gpio_bank *const omap_gpio_bank; 49 50 #define METHOD_GPIO_24XX 4 51 52 /* This is the interface */ 53 54 /* Request a gpio before using it */ 55 int omap_request_gpio(int gpio); 56 /* Reset and free a gpio after using it */ 57 void omap_free_gpio(int gpio); 58 /* Sets the gpio as input or output */ 59 void omap_set_gpio_direction(int gpio, int is_input); 60 /* Set or clear a gpio output */ 61 void omap_set_gpio_dataout(int gpio, int enable); 62 /* Get the value of a gpio input */ 63 int omap_get_gpio_datain(int gpio); 64 65 #endif /* _GPIO_H_ */ 66