forked from luck/tmp_suning_uos_patched
d67d1127a6
Move GPIO macros to a common header, and allow them to use the correct macros for the appropriate SoC, and be named accordingly. Acked-by: Linus Walleij <linus.walleij@stericsson.com> Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
#ifndef __ASM_ARCH_GPIO_H
|
|
#define __ASM_ARCH_GPIO_H
|
|
|
|
/*
|
|
* 288 (#267 is the highest one actually hooked up) onchip GPIOs, plus enough
|
|
* room for a couple of GPIO expanders.
|
|
*/
|
|
#define ARCH_NR_GPIOS 350
|
|
|
|
#include <plat/gpio.h>
|
|
|
|
#define __GPIO_RESOURCE(soc, block) \
|
|
{ \
|
|
.start = soc##_GPIOBANK##block##_BASE, \
|
|
.end = soc##_GPIOBANK##block##_BASE + 127, \
|
|
.flags = IORESOURCE_MEM, \
|
|
}, \
|
|
{ \
|
|
.start = IRQ_GPIO##block, \
|
|
.end = IRQ_GPIO##block, \
|
|
.flags = IORESOURCE_IRQ, \
|
|
}
|
|
|
|
#define __GPIO_DEVICE(soc, block) \
|
|
{ \
|
|
.name = "gpio", \
|
|
.id = block, \
|
|
.num_resources = 2, \
|
|
.resource = &soc##_gpio_resources[block * 2], \
|
|
.dev = { \
|
|
.platform_data = &soc##_gpio_data[block], \
|
|
}, \
|
|
}
|
|
|
|
#define GPIO_DATA(_name, first) \
|
|
{ \
|
|
.name = _name, \
|
|
.first_gpio = first, \
|
|
.first_irq = NOMADIK_GPIO_TO_IRQ(first), \
|
|
}
|
|
|
|
#ifdef CONFIG_UX500_SOC_DB8500
|
|
#define GPIO_RESOURCE(block) __GPIO_RESOURCE(U8500, block)
|
|
#define GPIO_DEVICE(block) __GPIO_DEVICE(u8500, block)
|
|
#elif defined(CONFIG_UX500_SOC_DB5500)
|
|
#define GPIO_RESOURCE(block) __GPIO_RESOURCE(U5500, block)
|
|
#define GPIO_DEVICE(block) __GPIO_DEVICE(u5500, block)
|
|
#endif
|
|
|
|
#endif /* __ASM_ARCH_GPIO_H */
|