1 /* 2 * arch/arm/plat-orion/include/plat/gpio.h 3 * 4 * Marvell Orion SoC GPIO handling. 5 * 6 * This file is licensed under the terms of the GNU General Public 7 * License version 2. This program is licensed "as is" without any 8 * warranty of any kind, whether express or implied. 9 */ 10 11 #ifndef __PLAT_GPIO_H 12 #define __PLAT_GPIO_H 13 14 #include <linux/init.h> 15 #include <asm-generic/gpio.h> 16 17 /* 18 * GENERIC_GPIO primitives. 19 */ 20 #define gpio_get_value __gpio_get_value 21 #define gpio_set_value __gpio_set_value 22 #define gpio_cansleep __gpio_cansleep 23 #define gpio_to_irq __gpio_to_irq 24 25 /* 26 * Orion-specific GPIO API extensions. 27 */ 28 void orion_gpio_set_unused(unsigned pin); 29 void orion_gpio_set_blink(unsigned pin, int blink); 30 31 #define GPIO_INPUT_OK (1 << 0) 32 #define GPIO_OUTPUT_OK (1 << 1) 33 void orion_gpio_set_valid(unsigned pin, int mode); 34 35 /* Initialize gpiolib. */ 36 void __init orion_gpio_init(int gpio_base, int ngpio, 37 u32 base, int mask_offset, int secondary_irq_base); 38 39 /* 40 * GPIO interrupt handling. 41 */ 42 extern struct irq_chip orion_gpio_irq_chip; 43 void orion_gpio_irq_handler(int irqoff); 44 45 46 #endif 47