1 /* 2 * arch/arm/plat-orion/include/plat/orion-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 <linux/types.h> 16 #include <linux/irqdomain.h> 17 18 struct gpio_desc; 19 20 /* 21 * Orion-specific GPIO API extensions. 22 */ 23 void orion_gpio_set_unused(unsigned pin); 24 void orion_gpio_set_blink(unsigned pin, int blink); 25 int orion_gpio_led_blink_set(struct gpio_desc *desc, int state, 26 unsigned long *delay_on, unsigned long *delay_off); 27 28 #define GPIO_INPUT_OK (1 << 0) 29 #define GPIO_OUTPUT_OK (1 << 1) 30 void orion_gpio_set_valid(unsigned pin, int mode); 31 32 /* Initialize gpiolib. */ 33 void __init orion_gpio_init(struct device_node *np, 34 int gpio_base, int ngpio, 35 void __iomem *base, int mask_offset, 36 int secondary_irq_base, 37 int irq[4]); 38 39 #endif 40