xref: /openbmc/u-boot/arch/arm/include/asm/omap_gpio.h (revision 29b103c7)
1 /*
2  * Copyright (c) 2009 Wind River Systems, Inc.
3  * Tom Rix <Tom.Rix@windriver.com>
4  *
5  * SPDX-License-Identifier:	GPL-2.0
6  *
7  * This work is derived from the linux 2.6.27 kernel source
8  * To fetch, use the kernel repository
9  * git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
10  * Use the v2.6.27 tag.
11  *
12  * Below is the original's header including its copyright
13  *
14  *  linux/arch/arm/plat-omap/gpio.c
15  *
16  * Support functions for OMAP GPIO
17  *
18  * Copyright (C) 2003-2005 Nokia Corporation
19  * Written by Juha Yrjölä <juha.yrjola@nokia.com>
20  */
21 #ifndef _GPIO_H
22 #define _GPIO_H
23 
24 #include <asm/arch/cpu.h>
25 
26 enum gpio_method {
27 	METHOD_GPIO_24XX	= 4,
28 };
29 
30 #ifdef CONFIG_DM_GPIO
31 
32 /* Information about a GPIO bank */
33 struct omap_gpio_platdata {
34 	int bank_index;
35 	ulong base;	/* address of registers in physical memory */
36 	enum gpio_method method;
37 };
38 
39 #else
40 
41 struct gpio_bank {
42 	void *base;
43 	int method;
44 };
45 
46 extern const struct gpio_bank *const omap_gpio_bank;
47 
48 /**
49  * Check if gpio is valid.
50  *
51  * @param gpio	GPIO number
52  * @return 1 if ok, 0 on error
53  */
54 int gpio_is_valid(int gpio);
55 #endif
56 
57 #endif /* _GPIO_H_ */
58