Lines Matching refs:gpio
43 struct gpio;
45 static inline int au1000_gpio1_to_irq(int gpio) in au1000_gpio1_to_irq() argument
47 return MAKE_IRQ(1, gpio - ALCHEMY_GPIO1_BASE); in au1000_gpio1_to_irq()
50 static inline int au1000_gpio2_to_irq(int gpio) in au1000_gpio2_to_irq() argument
63 static inline int au1500_gpio1_to_irq(int gpio) in au1500_gpio1_to_irq() argument
65 gpio -= ALCHEMY_GPIO1_BASE; in au1500_gpio1_to_irq()
67 switch (gpio) { in au1500_gpio1_to_irq()
70 case 23 ... 28: return MAKE_IRQ(1, gpio); in au1500_gpio1_to_irq()
76 static inline int au1500_gpio2_to_irq(int gpio) in au1500_gpio2_to_irq() argument
78 gpio -= ALCHEMY_GPIO2_BASE; in au1500_gpio2_to_irq()
80 switch (gpio) { in au1500_gpio2_to_irq()
81 case 0 ... 3: return MAKE_IRQ(1, 16 + gpio - 0); in au1500_gpio2_to_irq()
82 case 4 ... 5: return MAKE_IRQ(1, 21 + gpio - 4); in au1500_gpio2_to_irq()
83 case 6 ... 7: return MAKE_IRQ(1, 29 + gpio - 6); in au1500_gpio2_to_irq()
109 static inline int au1100_gpio1_to_irq(int gpio) in au1100_gpio1_to_irq() argument
111 return MAKE_IRQ(1, gpio - ALCHEMY_GPIO1_BASE); in au1100_gpio1_to_irq()
114 static inline int au1100_gpio2_to_irq(int gpio) in au1100_gpio2_to_irq() argument
116 gpio -= ALCHEMY_GPIO2_BASE; in au1100_gpio2_to_irq()
118 if ((gpio >= 8) && (gpio <= 15)) in au1100_gpio2_to_irq()
136 static inline int au1550_gpio1_to_irq(int gpio) in au1550_gpio1_to_irq() argument
138 gpio -= ALCHEMY_GPIO1_BASE; in au1550_gpio1_to_irq()
140 switch (gpio) { in au1550_gpio1_to_irq()
142 case 20 ... 28: return MAKE_IRQ(1, gpio); in au1550_gpio1_to_irq()
143 case 16 ... 17: return MAKE_IRQ(1, 18 + gpio - 16); in au1550_gpio1_to_irq()
149 static inline int au1550_gpio2_to_irq(int gpio) in au1550_gpio2_to_irq() argument
151 gpio -= ALCHEMY_GPIO2_BASE; in au1550_gpio2_to_irq()
153 switch (gpio) { in au1550_gpio2_to_irq()
156 case 6 ... 7: return MAKE_IRQ(1, 29 + gpio - 6); in au1550_gpio2_to_irq()
180 static inline int au1200_gpio1_to_irq(int gpio) in au1200_gpio1_to_irq() argument
182 return MAKE_IRQ(1, gpio - ALCHEMY_GPIO1_BASE); in au1200_gpio1_to_irq()
185 static inline int au1200_gpio2_to_irq(int gpio) in au1200_gpio2_to_irq() argument
187 gpio -= ALCHEMY_GPIO2_BASE; in au1200_gpio2_to_irq()
189 switch (gpio) { in au1200_gpio2_to_irq()
190 case 0 ... 2: return MAKE_IRQ(0, 5 + gpio - 0); in au1200_gpio2_to_irq()
192 case 4 ... 7: return MAKE_IRQ(0, 24 + gpio - 4); in au1200_gpio2_to_irq()
218 static inline void alchemy_gpio1_set_value(int gpio, int v) in alchemy_gpio1_set_value() argument
220 unsigned long mask = 1 << (gpio - ALCHEMY_GPIO1_BASE); in alchemy_gpio1_set_value()
225 static inline int alchemy_gpio1_get_value(int gpio) in alchemy_gpio1_get_value() argument
227 unsigned long mask = 1 << (gpio - ALCHEMY_GPIO1_BASE); in alchemy_gpio1_get_value()
231 static inline int alchemy_gpio1_direction_input(int gpio) in alchemy_gpio1_direction_input() argument
233 unsigned long mask = 1 << (gpio - ALCHEMY_GPIO1_BASE); in alchemy_gpio1_direction_input()
238 static inline int alchemy_gpio1_direction_output(int gpio, int v) in alchemy_gpio1_direction_output() argument
243 alchemy_gpio1_set_value(gpio, v); in alchemy_gpio1_direction_output()
247 static inline int alchemy_gpio1_is_valid(int gpio) in alchemy_gpio1_is_valid() argument
249 return ((gpio >= ALCHEMY_GPIO1_BASE) && (gpio <= ALCHEMY_GPIO1_MAX)); in alchemy_gpio1_is_valid()
252 static inline int alchemy_gpio1_to_irq(int gpio) in alchemy_gpio1_to_irq() argument
256 return au1000_gpio1_to_irq(gpio); in alchemy_gpio1_to_irq()
258 return au1100_gpio1_to_irq(gpio); in alchemy_gpio1_to_irq()
260 return au1500_gpio1_to_irq(gpio); in alchemy_gpio1_to_irq()
262 return au1550_gpio1_to_irq(gpio); in alchemy_gpio1_to_irq()
264 return au1200_gpio1_to_irq(gpio); in alchemy_gpio1_to_irq()
273 static inline void __alchemy_gpio2_mod_dir(int gpio, int to_out) in __alchemy_gpio2_mod_dir() argument
276 unsigned long mask = 1 << (gpio - ALCHEMY_GPIO2_BASE); in __alchemy_gpio2_mod_dir()
287 static inline void alchemy_gpio2_set_value(int gpio, int v) in alchemy_gpio2_set_value() argument
291 mask = ((v) ? 0x00010001 : 0x00010000) << (gpio - ALCHEMY_GPIO2_BASE); in alchemy_gpio2_set_value()
296 static inline int alchemy_gpio2_get_value(int gpio) in alchemy_gpio2_get_value() argument
300 (1 << (gpio - ALCHEMY_GPIO2_BASE)); in alchemy_gpio2_get_value()
303 static inline int alchemy_gpio2_direction_input(int gpio) in alchemy_gpio2_direction_input() argument
307 __alchemy_gpio2_mod_dir(gpio, 0); in alchemy_gpio2_direction_input()
312 static inline int alchemy_gpio2_direction_output(int gpio, int v) in alchemy_gpio2_direction_output() argument
315 alchemy_gpio2_set_value(gpio, v); in alchemy_gpio2_direction_output()
317 __alchemy_gpio2_mod_dir(gpio, 1); in alchemy_gpio2_direction_output()
322 static inline int alchemy_gpio2_is_valid(int gpio) in alchemy_gpio2_is_valid() argument
324 return ((gpio >= ALCHEMY_GPIO2_BASE) && (gpio <= ALCHEMY_GPIO2_MAX)); in alchemy_gpio2_is_valid()
327 static inline int alchemy_gpio2_to_irq(int gpio) in alchemy_gpio2_to_irq() argument
331 return au1000_gpio2_to_irq(gpio); in alchemy_gpio2_to_irq()
333 return au1100_gpio2_to_irq(gpio); in alchemy_gpio2_to_irq()
335 return au1500_gpio2_to_irq(gpio); in alchemy_gpio2_to_irq()
337 return au1550_gpio2_to_irq(gpio); in alchemy_gpio2_to_irq()
339 return au1200_gpio2_to_irq(gpio); in alchemy_gpio2_to_irq()
456 static inline int alchemy_gpio_direction_input(int gpio) in alchemy_gpio_direction_input() argument
458 return (gpio >= ALCHEMY_GPIO2_BASE) ? in alchemy_gpio_direction_input()
459 alchemy_gpio2_direction_input(gpio) : in alchemy_gpio_direction_input()
460 alchemy_gpio1_direction_input(gpio); in alchemy_gpio_direction_input()
463 static inline int alchemy_gpio_direction_output(int gpio, int v) in alchemy_gpio_direction_output() argument
465 return (gpio >= ALCHEMY_GPIO2_BASE) ? in alchemy_gpio_direction_output()
466 alchemy_gpio2_direction_output(gpio, v) : in alchemy_gpio_direction_output()
467 alchemy_gpio1_direction_output(gpio, v); in alchemy_gpio_direction_output()
470 static inline int alchemy_gpio_get_value(int gpio) in alchemy_gpio_get_value() argument
472 return (gpio >= ALCHEMY_GPIO2_BASE) ? in alchemy_gpio_get_value()
473 alchemy_gpio2_get_value(gpio) : in alchemy_gpio_get_value()
474 alchemy_gpio1_get_value(gpio); in alchemy_gpio_get_value()
477 static inline void alchemy_gpio_set_value(int gpio, int v) in alchemy_gpio_set_value() argument
479 if (gpio >= ALCHEMY_GPIO2_BASE) in alchemy_gpio_set_value()
480 alchemy_gpio2_set_value(gpio, v); in alchemy_gpio_set_value()
482 alchemy_gpio1_set_value(gpio, v); in alchemy_gpio_set_value()
485 static inline int alchemy_gpio_is_valid(int gpio) in alchemy_gpio_is_valid() argument
487 return (gpio >= ALCHEMY_GPIO2_BASE) ? in alchemy_gpio_is_valid()
488 alchemy_gpio2_is_valid(gpio) : in alchemy_gpio_is_valid()
489 alchemy_gpio1_is_valid(gpio); in alchemy_gpio_is_valid()
492 static inline int alchemy_gpio_cansleep(int gpio) in alchemy_gpio_cansleep() argument
497 static inline int alchemy_gpio_to_irq(int gpio) in alchemy_gpio_to_irq() argument
499 return (gpio >= ALCHEMY_GPIO2_BASE) ? in alchemy_gpio_to_irq()
500 alchemy_gpio2_to_irq(gpio) : in alchemy_gpio_to_irq()
501 alchemy_gpio1_to_irq(gpio); in alchemy_gpio_to_irq()
553 static inline int gpio_direction_input(int gpio) in gpio_direction_input() argument
555 return alchemy_gpio_direction_input(gpio); in gpio_direction_input()
558 static inline int gpio_direction_output(int gpio, int v) in gpio_direction_output() argument
560 return alchemy_gpio_direction_output(gpio, v); in gpio_direction_output()
563 static inline int gpio_get_value(int gpio) in gpio_get_value() argument
565 return alchemy_gpio_get_value(gpio); in gpio_get_value()
568 static inline void gpio_set_value(int gpio, int v) in gpio_set_value() argument
570 alchemy_gpio_set_value(gpio, v); in gpio_set_value()
573 static inline int gpio_get_value_cansleep(unsigned gpio) in gpio_get_value_cansleep() argument
575 return gpio_get_value(gpio); in gpio_get_value_cansleep()
578 static inline void gpio_set_value_cansleep(unsigned gpio, int value) in gpio_set_value_cansleep() argument
580 gpio_set_value(gpio, value); in gpio_set_value_cansleep()
583 static inline int gpio_is_valid(int gpio) in gpio_is_valid() argument
585 return alchemy_gpio_is_valid(gpio); in gpio_is_valid()
588 static inline int gpio_cansleep(int gpio) in gpio_cansleep() argument
590 return alchemy_gpio_cansleep(gpio); in gpio_cansleep()
593 static inline int gpio_to_irq(int gpio) in gpio_to_irq() argument
595 return alchemy_gpio_to_irq(gpio); in gpio_to_irq()
603 static inline int gpio_request(unsigned gpio, const char *label) in gpio_request() argument
608 static inline int gpio_request_one(unsigned gpio, in gpio_request_one() argument
614 static inline int gpio_request_array(struct gpio *array, size_t num) in gpio_request_array()
619 static inline void gpio_free(unsigned gpio) in gpio_free() argument
623 static inline void gpio_free_array(struct gpio *array, size_t num) in gpio_free_array()
627 static inline int gpio_set_debounce(unsigned gpio, unsigned debounce) in gpio_set_debounce() argument
632 static inline int gpio_export(unsigned gpio, bool direction_may_change) in gpio_export() argument
638 unsigned gpio) in gpio_export_link() argument
643 static inline int gpio_sysfs_set_active_low(unsigned gpio, int value) in gpio_sysfs_set_active_low() argument
648 static inline void gpio_unexport(unsigned gpio) in gpio_unexport() argument