Lines Matching +full:gpio +full:- +full:n
3 * SPDX-License-Identifier: Apache-2.0
9 #include <zephyr/drivers/gpio.h>
11 #include <zephyr/drivers/gpio/gpio_utils.h>
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()
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()
248 return -EINVAL; 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()
276 static DEVICE_API(gpio, gpio_sedi_driver_api) = {
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()
298 /* Call sedi gpio init */ in gpio_sedi_init()
306 config->irq_config(); in gpio_sedi_init()
311 #define GPIO_SEDI_IRQ_FLAGS_SENSE0(n) 0 argument
312 #define GPIO_SEDI_IRQ_FLAGS_SENSE1(n) DT_INST_IRQ(n, sense) argument
313 #define GPIO_SEDI_IRQ_FLAGS(n) \ argument
314 _CONCAT(GPIO_SEDI_IRQ_FLAGS_SENSE, DT_INST_IRQ_HAS_CELL(n, sense))(n)
316 #define GPIO_DEVICE_INIT_SEDI(n) \ argument
317 static struct gpio_sedi_data gpio##n##_data; \
318 static void gpio_sedi_irq_config_##n(void) \
320 IRQ_CONNECT(DT_INST_IRQN(n), DT_INST_IRQ(n, priority), \
321 gpio_isr, n, \
322 GPIO_SEDI_IRQ_FLAGS(n)); \
323 irq_enable(DT_INST_IRQN(n)); \
325 static const struct gpio_sedi_config gpio##n##_config = { \
326 DEVICE_MMIO_ROM_INIT(DT_DRV_INST(n)), \
328 .device = DT_INST_PROP(n, peripheral_id), \
329 .pin_nums = DT_INST_PROP(n, ngpios), \
330 .irq_config = gpio_sedi_irq_config_##n, \
332 PM_DEVICE_DEFINE(gpio_##n, gpio_sedi_pm_action); \
333 DEVICE_DT_INST_DEFINE(n, \
335 PM_DEVICE_GET(gpio_##n), \
336 &gpio##n##_data, \
337 &gpio##n##_config, \