 d67d1127a6
			
		
	
	
	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>
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			50 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 */
 |