blob: 7c85a89172fb87c58974f5f7448124d71672ec19 [file] [log] [blame]
Mathieu J. Poirier4a036fe2012-08-03 11:05:12 +00001/*
2 * Structures and registers for GPIO access in the Nomadik SoC
3 *
4 * Code ported from Nomadik GPIO driver in ST-Ericsson Linux kernel code.
5 * The purpose is that GPIO config found in kernel should work by simply
6 * copy-paste it to U-boot.
7 *
8 * Ported to U-boot by:
9 * Copyright (C) 2010 Joakim Axelsson <joakim.axelsson AT stericsson.com>
10 * Copyright (C) 2008 STMicroelectronics
11 * Author: Prafulla WADASKAR <prafulla.wadaskar@st.com>
12 * Copyright (C) 2009 Alessandro Rubini <rubini@unipv.it>
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License version 2 as
16 * published by the Free Software Foundation.
17 */
18
19#ifndef __DB8500_GPIO_H__
20#define __DB8500_GPIO_H__
21
22/* Alternate functions: function C is set in hw by setting both A and B */
23enum db8500_gpio_alt {
24 DB8500_GPIO_ALT_GPIO = 0,
25 DB8500_GPIO_ALT_A = 1,
26 DB8500_GPIO_ALT_B = 2,
27 DB8500_GPIO_ALT_C = (DB8500_GPIO_ALT_A | DB8500_GPIO_ALT_B)
28};
29
30enum db8500_gpio_pull {
31 DB8500_GPIO_PULL_NONE,
32 DB8500_GPIO_PULL_UP,
33 DB8500_GPIO_PULL_DOWN
34};
35
36void db8500_gpio_set_pull(unsigned gpio, enum db8500_gpio_pull pull);
37void db8500_gpio_make_input(unsigned gpio);
38int db8500_gpio_get_input(unsigned gpio);
39void db8500_gpio_make_output(unsigned gpio, int val);
40void db8500_gpio_set_output(unsigned gpio, int val);
41
42#endif /* __DB8500_GPIO_H__ */