Lines Matching +full:interrupt +full:- +full:direction
3 * SPDX-License-Identifier: Apache-2.0
37 const struct gpio_sedi_config *config = dev->config; in gpio_sedi_suspend_device()
38 sedi_gpio_t gpio_dev = config->device; in gpio_sedi_suspend_device()
42 return -EBUSY; in gpio_sedi_suspend_device()
48 return -EIO; in gpio_sedi_suspend_device()
56 const struct gpio_sedi_config *config = dev->config; in gpio_sedi_resume_device_from_suspend()
57 sedi_gpio_t gpio_dev = config->device; in gpio_sedi_resume_device_from_suspend()
62 return -EIO; in gpio_sedi_resume_device_from_suspend()
82 ret = -ENOTSUP; in gpio_sedi_pm_action()
96 (struct gpio_sedi_data *)(dev->data); in gpio_sedi_callback()
99 gpio_fire_callbacks(&data->callbacks, dev, pin_mask); in gpio_sedi_callback()
107 const struct gpio_sedi_config *config = dev->config; in gpio_sedi_write_raw()
108 sedi_gpio_t gpio_dev = config->device; in gpio_sedi_write_raw()
117 for (i = 0; i < config->pin_nums; i++) { in gpio_sedi_write_raw()
131 const struct gpio_sedi_config *config = dev->config; in gpio_sedi_configure()
132 sedi_gpio_t gpio_dev = config->device; in gpio_sedi_configure()
137 return -ENOTSUP; in gpio_sedi_configure()
140 return -ENOTSUP; in gpio_sedi_configure()
144 /* Map direction */ in gpio_sedi_configure()
146 pin_config.direction = SEDI_GPIO_DIR_MODE_OUTPUT; in gpio_sedi_configure()
155 pin_config.direction = SEDI_GPIO_DIR_MODE_INPUT; in gpio_sedi_configure()
164 const struct gpio_sedi_config *config = dev->config; in gpio_sedi_get_raw()
165 sedi_gpio_t gpio_dev = config->device; in gpio_sedi_get_raw()
197 const struct gpio_sedi_config *config = dev->config; in gpio_sedi_toggle_bits()
198 sedi_gpio_t gpio_dev = config->device; in gpio_sedi_toggle_bits()
201 for (i = 0; i < config->pin_nums; i++) { in gpio_sedi_toggle_bits()
219 const struct gpio_sedi_config *config = dev->config; in gpio_sedi_interrupt_configure()
220 sedi_gpio_t gpio_dev = config->device; in gpio_sedi_interrupt_configure()
225 return -EINVAL; in gpio_sedi_interrupt_configure()
227 /* Only input needs interrupt enabled */ in gpio_sedi_interrupt_configure()
228 pin_config.direction = SEDI_GPIO_DIR_MODE_INPUT; in gpio_sedi_interrupt_configure()
248 return -EINVAL; in gpio_sedi_interrupt_configure()
251 /* Configure interrupt mode */ in gpio_sedi_interrupt_configure()
261 struct gpio_sedi_data *data = dev->data; in gpio_sedi_manage_callback()
263 gpio_manage_callback(&(data->callbacks), callback, set); in gpio_sedi_manage_callback()
270 const struct gpio_sedi_config *config = dev->config; in gpio_sedi_get_pending()
271 sedi_gpio_t gpio_dev = config->device; in gpio_sedi_get_pending()
293 const struct gpio_sedi_config *config = dev->config; in gpio_sedi_init()
294 sedi_gpio_t gpio_dev = config->device; in gpio_sedi_init()
306 config->irq_config(); in gpio_sedi_init()