1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #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 */
|