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