1 /*
2  * Copyright (C) 2007-2011 ST-Ericsson AB
3  * License terms: GNU General Public License (GPL) version 2
4  * GPIO block resgister definitions and inline macros for
5  * U300 GPIO COH 901 335 or COH 901 571/3
6  * Author: Linus Walleij <linus.walleij@stericsson.com>
7  */
8 
9 #ifndef __MACH_U300_GPIO_U300_H
10 #define __MACH_U300_GPIO_U300_H
11 
12 /**
13  * enum u300_gpio_variant - the type of U300 GPIO employed
14  */
15 enum u300_gpio_variant {
16 	U300_GPIO_COH901335,
17 	U300_GPIO_COH901571_3_BS335,
18 	U300_GPIO_COH901571_3_BS365,
19 };
20 
21 /**
22  * struct u300_gpio_platform - U300 GPIO platform data
23  * @variant: IP block variant
24  * @ports: number of GPIO block ports
25  * @gpio_base: first GPIO number for this block (use a free range)
26  * @gpio_irq_base: first GPIO IRQ number for this block (use a free range)
27  * @pinctrl_device: pin control device to spawn as child
28  */
29 struct u300_gpio_platform {
30 	enum u300_gpio_variant variant;
31 	u8 ports;
32 	int gpio_base;
33 	int gpio_irq_base;
34 	struct platform_device *pinctrl_device;
35 };
36 
37 #endif /* __MACH_U300_GPIO_U300_H */
38