blob: 839af54d482e9fbc9e03c5a777eb9317566681ea [file] [log] [blame]
Tom Rixdd2d1cc2009-05-15 23:48:36 +02001/*
2 * Copyright (c) 2009 Wind River Systems, Inc.
3 * Tom Rix <Tom.Rix@windriver.com>
4 *
Wolfgang Denk5064ca42013-07-28 22:12:44 +02005 * SPDX-License-Identifier: GPL-2.0
Tom Rixdd2d1cc2009-05-15 23:48:36 +02006 *
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>
Tom Rixdd2d1cc2009-05-15 23:48:36 +020020 */
21#ifndef _GPIO_H
22#define _GPIO_H
23
Aneesh V9a390882011-07-21 09:29:29 -040024#include <asm/arch/cpu.h>
Tom Rixdd2d1cc2009-05-15 23:48:36 +020025
Simon Glass1a96d7f2014-10-22 21:37:09 -060026enum gpio_method {
27 METHOD_GPIO_24XX = 4,
28};
29
30#ifdef CONFIG_DM_GPIO
31
32/* Information about a GPIO bank */
33struct 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
Tom Rixdd2d1cc2009-05-15 23:48:36 +020041struct gpio_bank {
42 void *base;
43 int method;
44};
45
Aneesh V9a390882011-07-21 09:29:29 -040046extern const struct gpio_bank *const omap_gpio_bank;
47
Nikita Kiryanove3cb9c12012-11-27 22:40:57 +000048/**
49 * Check if gpio is valid.
50 *
51 * @param gpio GPIO number
52 * @return 1 if ok, 0 on error
53 */
54int gpio_is_valid(int gpio);
Simon Glass1a96d7f2014-10-22 21:37:09 -060055#endif
56
Tom Rixdd2d1cc2009-05-15 23:48:36 +020057#endif /* _GPIO_H_ */