Lines Matching refs:gpio

45 static inline int get_gpio_index(int gpio)  in get_gpio_index()  argument
47 return gpio & 0x1f; in get_gpio_index()
50 int gpio_is_valid(int gpio) in gpio_is_valid() argument
52 return (gpio >= 0) && (gpio < OMAP_MAX_GPIO); in gpio_is_valid()
55 static void _set_gpio_direction(const struct gpio_bank *bank, int gpio, in _set_gpio_direction() argument
65 l |= 1 << gpio; in _set_gpio_direction()
67 l &= ~(1 << gpio); in _set_gpio_direction()
75 static int _get_gpio_direction(const struct gpio_bank *bank, int gpio) in _get_gpio_direction() argument
84 if (v & (1 << gpio)) in _get_gpio_direction()
90 static void _set_gpio_dataout(const struct gpio_bank *bank, int gpio, in _set_gpio_dataout() argument
101 l = 1 << gpio; in _set_gpio_dataout()
105 static int _get_gpio_value(const struct gpio_bank *bank, int gpio) in _get_gpio_value() argument
110 input = _get_gpio_direction(bank, gpio); in _get_gpio_value()
122 return (__raw_readl(reg) & (1 << gpio)) != 0; in _get_gpio_value()
127 static inline const struct gpio_bank *get_gpio_bank(int gpio) in get_gpio_bank() argument
129 return &omap_gpio_bank[gpio >> 5]; in get_gpio_bank()
132 static int check_gpio(int gpio) in check_gpio() argument
134 if (!gpio_is_valid(gpio)) { in check_gpio()
135 printf("ERROR : check_gpio: invalid GPIO %d\n", gpio); in check_gpio()
144 int gpio_set_value(unsigned gpio, int value) in gpio_set_value() argument
148 if (check_gpio(gpio) < 0) in gpio_set_value()
150 bank = get_gpio_bank(gpio); in gpio_set_value()
151 _set_gpio_dataout(bank, get_gpio_index(gpio), value); in gpio_set_value()
159 int gpio_get_value(unsigned gpio) in gpio_get_value() argument
163 if (check_gpio(gpio) < 0) in gpio_get_value()
165 bank = get_gpio_bank(gpio); in gpio_get_value()
167 return _get_gpio_value(bank, get_gpio_index(gpio)); in gpio_get_value()
173 int gpio_direction_input(unsigned gpio) in gpio_direction_input() argument
177 if (check_gpio(gpio) < 0) in gpio_direction_input()
180 bank = get_gpio_bank(gpio); in gpio_direction_input()
181 _set_gpio_direction(bank, get_gpio_index(gpio), 1); in gpio_direction_input()
189 int gpio_direction_output(unsigned gpio, int value) in gpio_direction_output() argument
193 if (check_gpio(gpio) < 0) in gpio_direction_output()
196 bank = get_gpio_bank(gpio); in gpio_direction_output()
197 _set_gpio_dataout(bank, get_gpio_index(gpio), value); in gpio_direction_output()
198 _set_gpio_direction(bank, get_gpio_index(gpio), 0); in gpio_direction_output()
208 int gpio_request(unsigned gpio, const char *label) in gpio_request() argument
210 if (check_gpio(gpio) < 0) in gpio_request()
219 int gpio_free(unsigned gpio) in gpio_free() argument