1 /* 2 * Coldfire generic GPIO support. 3 * 4 * (C) Copyright 2009, Steven King <sfking@fdwdc.com> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; version 2 of the License. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 */ 15 16 #ifndef mcfgpio_h 17 #define mcfgpio_h 18 19 #include <linux/io.h> 20 #include <asm-generic/gpio.h> 21 22 struct mcf_gpio_chip { 23 struct gpio_chip gpio_chip; 24 void __iomem *pddr; 25 void __iomem *podr; 26 void __iomem *ppdr; 27 void __iomem *setr; 28 void __iomem *clrr; 29 const u8 *gpio_to_pinmux; 30 }; 31 32 int mcf_gpio_direction_input(struct gpio_chip *, unsigned); 33 int mcf_gpio_get_value(struct gpio_chip *, unsigned); 34 int mcf_gpio_direction_output(struct gpio_chip *, unsigned, int); 35 void mcf_gpio_set_value(struct gpio_chip *, unsigned, int); 36 void mcf_gpio_set_value_fast(struct gpio_chip *, unsigned, int); 37 int mcf_gpio_request(struct gpio_chip *, unsigned); 38 void mcf_gpio_free(struct gpio_chip *, unsigned); 39 40 #endif 41