blob: f3c18cfc374616f122439e46a8da831d2731441e [file] [log] [blame]
Duy Truongf3ac7b32013-02-13 01:07:28 -08001/* Copyright (c) 2012, The Linux Foundation. All rights reserved.
Channagoud Kadabi43000a62012-06-28 18:23:24 +05302 *
3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions are
5 * met:
6 * * Redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer.
8 * * Redistributions in binary form must reproduce the above
9 * copyright notice, this list of conditions and the following
10 * disclaimer in the documentation and/or other materials provided
11 * with the distribution.
Duy Truongf3ac7b32013-02-13 01:07:28 -080012 * * Neither the name of The Linux Foundation nor the names of its
Channagoud Kadabi43000a62012-06-28 18:23:24 +053013 * contributors may be used to endorse or promote products derived
14 * from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#ifndef __PLATFORM_MSM7X27A_GPIO_H
30#define __PLATFORM_MSM7X27A_GPIO_H
31
32/* GPIO TLMM: Direction */
33#ifndef GPIO_INPUT
34#define GPIO_INPUT 0
35#endif
36#ifndef GPIO_OUTPUT
37#define GPIO_OUTPUT 1
38#endif
39
40/* GPIO TLMM: Pullup/Pulldown */
41#define GPIO_NO_PULL 0
42#define GPIO_PULL_DOWN 1
43#define GPIO_KEEPER 2
44#define GPIO_PULL_UP 3
45
46/* GPIO TLMM: Drive Strength */
47#define GPIO_2MA 0
48#define GPIO_4MA 1
49#define GPIO_6MA 2
50#define GPIO_8MA 3
51#define GPIO_10MA 4
52#define GPIO_12MA 5
53#define GPIO_14MA 6
54#define GPIO_16MA 7
55
56/* GPIO TLMM: Status */
57#define GPIO_ENABLE 0
58#define GPIO_DISABLE 1
59
60#define GPIO_CFG(gpio, func, dir, pull, drvstr)\
61 ((((gpio) & 0x3ff) << 4) | \
62 ((func) & 0xf) | \
63 (((dir) & 0x1) << 14) | \
64 (((pull) & 0x3) << 15) | \
65 (((drvstr) & 0xf) << 17))
66#endif