1ce91574cSRob Herring /* 2ce91574cSRob Herring * arch/arm/plat-orion/include/plat/orion-gpio.h 3ce91574cSRob Herring * 4ce91574cSRob Herring * Marvell Orion SoC GPIO handling. 5ce91574cSRob Herring * 6ce91574cSRob Herring * This file is licensed under the terms of the GNU General Public 7ce91574cSRob Herring * License version 2. This program is licensed "as is" without any 8ce91574cSRob Herring * warranty of any kind, whether express or implied. 9ce91574cSRob Herring */ 10ce91574cSRob Herring 11ce91574cSRob Herring #ifndef __PLAT_GPIO_H 12ce91574cSRob Herring #define __PLAT_GPIO_H 13ce91574cSRob Herring 14ce91574cSRob Herring #include <linux/init.h> 15ce91574cSRob Herring #include <linux/types.h> 16ce91574cSRob Herring #include <linux/irqdomain.h> 17c673a2b4SMika Westerberg 18c673a2b4SMika Westerberg struct gpio_desc; 19c673a2b4SMika Westerberg 20ce91574cSRob Herring /* 21ce91574cSRob Herring * Orion-specific GPIO API extensions. 22ce91574cSRob Herring */ 23ce91574cSRob Herring void orion_gpio_set_unused(unsigned pin); 24ce91574cSRob Herring void orion_gpio_set_blink(unsigned pin, int blink); 25c673a2b4SMika Westerberg int orion_gpio_led_blink_set(struct gpio_desc *desc, int state, 26ce91574cSRob Herring unsigned long *delay_on, unsigned long *delay_off); 27ce91574cSRob Herring 28ce91574cSRob Herring #define GPIO_INPUT_OK (1 << 0) 29ce91574cSRob Herring #define GPIO_OUTPUT_OK (1 << 1) 30ce91574cSRob Herring void orion_gpio_set_valid(unsigned pin, int mode); 31ce91574cSRob Herring 32ce91574cSRob Herring /* Initialize gpiolib. */ 33*bba14b32SAndy Shevchenko void __init orion_gpio_init(int gpio_base, int ngpio, 34ce91574cSRob Herring void __iomem *base, int mask_offset, 35ce91574cSRob Herring int secondary_irq_base, 36ce91574cSRob Herring int irq[4]); 37ce91574cSRob Herring 38ce91574cSRob Herring #endif 39