blob: ef38b6308d870b1b4121c622993fe19db2f2851a [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 -060026#ifdef CONFIG_DM_GPIO
27
28/* Information about a GPIO bank */
29struct omap_gpio_platdata {
30 int bank_index;
31 ulong base; /* address of registers in physical memory */
Tom Rini7bc2bca2015-07-31 19:55:09 -040032 const char *port_name;
Simon Glass1a96d7f2014-10-22 21:37:09 -060033};
34
35#else
36
Tom Rixdd2d1cc2009-05-15 23:48:36 +020037struct gpio_bank {
38 void *base;
Tom Rixdd2d1cc2009-05-15 23:48:36 +020039};
40
Aneesh V9a390882011-07-21 09:29:29 -040041extern const struct gpio_bank *const omap_gpio_bank;
42
Nikita Kiryanove3cb9c12012-11-27 22:40:57 +000043/**
44 * Check if gpio is valid.
45 *
46 * @param gpio GPIO number
47 * @return 1 if ok, 0 on error
48 */
49int gpio_is_valid(int gpio);
Simon Glass1a96d7f2014-10-22 21:37:09 -060050#endif
51
Tom Rixdd2d1cc2009-05-15 23:48:36 +020052#endif /* _GPIO_H_ */