Lines Matching +full:zephyr +full:- +full:base
5 * SPDX-License-Identifier: Apache-2.0
10 #include <zephyr/arch/common/sys_bitops.h>
11 #include <zephyr/device.h>
12 #include <zephyr/drivers/gpio.h>
13 #include <zephyr/drivers/gpio/gpio_utils.h>
14 #include <zephyr/irq.h>
15 #include <zephyr/kernel.h>
33 mem_addr_t base; member
43 #define DEV_CFG(dev) ((const struct gpio_iproc_config *const)(dev)->config)
44 #define DEV_DATA(dev) ((struct gpio_iproc_data *const)(dev)->data)
49 mem_addr_t base = cfg->base; in gpio_iproc_configure() local
54 sys_set_bit(base + IPROC_GPIO_OUT_EN_OFFSET, pin); in gpio_iproc_configure()
57 sys_clear_bit(base + IPROC_GPIO_OUT_EN_OFFSET, pin); in gpio_iproc_configure()
66 mem_addr_t base = cfg->base; in gpio_iproc_port_get_raw() local
68 *value = sys_read32(base + IPROC_GPIO_DATA_IN_OFFSET); in gpio_iproc_port_get_raw()
76 mem_addr_t base = cfg->base; in gpio_iproc_port_set_masked_raw() local
78 value = sys_read32(base + IPROC_GPIO_DATA_OUT_OFFSET); in gpio_iproc_port_set_masked_raw()
80 sys_write32(value, base + IPROC_GPIO_DATA_OUT_OFFSET); in gpio_iproc_port_set_masked_raw()
88 mem_addr_t base = cfg->base; in gpio_iproc_port_set_bits_raw() local
90 sys_write32(mask, base + IPROC_GPIO_DATA_OUT_OFFSET); in gpio_iproc_port_set_bits_raw()
99 mem_addr_t base = cfg->base; in gpio_iproc_port_clear_bits_raw() local
102 value = sys_read32(base + IPROC_GPIO_DATA_OUT_OFFSET); in gpio_iproc_port_clear_bits_raw()
104 sys_write32(value, base + IPROC_GPIO_DATA_OUT_OFFSET); in gpio_iproc_port_clear_bits_raw()
113 mem_addr_t base = cfg->base; in gpio_iproc_port_toggle_bits() local
116 value = sys_read32(base + IPROC_GPIO_DATA_OUT_OFFSET); in gpio_iproc_port_toggle_bits()
118 sys_write32(value, base + IPROC_GPIO_DATA_OUT_OFFSET); in gpio_iproc_port_toggle_bits()
127 mem_addr_t base = cfg->base; in gpio_iproc_pin_interrupt_configure() local
132 sys_clear_bit(base + IPROC_GPIO_INT_TYPE_OFFSET, pin); in gpio_iproc_pin_interrupt_configure()
134 sys_set_bit(base + IPROC_GPIO_INT_TYPE_OFFSET, pin); in gpio_iproc_pin_interrupt_configure()
139 sys_set_bit(base + IPROC_GPIO_INT_DE_OFFSET, pin); in gpio_iproc_pin_interrupt_configure()
142 sys_clear_bit(base + IPROC_GPIO_INT_DE_OFFSET, pin); in gpio_iproc_pin_interrupt_configure()
143 sys_set_bit(base + IPROC_GPIO_INT_EDGE_OFFSET, pin); in gpio_iproc_pin_interrupt_configure()
146 sys_clear_bit(base + IPROC_GPIO_INT_DE_OFFSET, pin); in gpio_iproc_pin_interrupt_configure()
147 sys_clear_bit(base + IPROC_GPIO_INT_EDGE_OFFSET, pin); in gpio_iproc_pin_interrupt_configure()
151 sys_clear_bit(base + IPROC_GPIO_INT_MSTAT_OFFSET, pin); in gpio_iproc_pin_interrupt_configure()
153 sys_set_bit(base + IPROC_GPIO_INT_MSK_OFFSET, pin); in gpio_iproc_pin_interrupt_configure()
161 mem_addr_t base = cfg->base; in gpio_iproc_isr() local
162 struct gpio_iproc_data *context = dev->data; in gpio_iproc_isr()
165 int_stat = sys_read32(base + IPROC_GPIO_INT_STAT_OFFSET); in gpio_iproc_isr()
168 sys_write32(int_stat, base + IPROC_GPIO_INT_CLR_OFFSET); in gpio_iproc_isr()
171 gpio_fire_callbacks(&context->cb, dev, int_stat); in gpio_iproc_isr()
177 struct gpio_iproc_data *context = port->data; in gpio_iproc_manage_callback()
179 return gpio_manage_callback(&context->cb, callback, set); in gpio_iproc_manage_callback()
197 cfg->irq_config_func(dev); in gpio_iproc_init()
215 .base = DT_INST_REG_ADDR(n), \