Lines Matching refs:gpio_device

67 static int32_t gpio_set_power(IN sedi_gpio_t gpio_device, IN sedi_power_state_t state)  in gpio_set_power()  argument
69 sedi_devid_t devid = SEDI_DEVID_GPIO0 + gpio_device; in gpio_set_power()
72 DBG_CHECK(gpio_device < SEDI_GPIO_NUM, SEDI_DRIVER_ERROR_PARAMETER); in gpio_set_power()
92 static void gpio_reset_register(IN sedi_gpio_t gpio_device) in gpio_reset_register() argument
94 sedi_gpio_regs_t *reg = resources_map[gpio_device].reg; in gpio_reset_register()
111 static void gpio_write_pin_port(IN sedi_gpio_t gpio_device, IN gpio_port_access_t access_type, in gpio_write_pin_port() argument
117 sedi_gpio_regs_t *reg = resources_map[gpio_device].reg; in gpio_write_pin_port()
118 gpio_context_t *context = &(gpio_context[gpio_device]); in gpio_write_pin_port()
140 static uint32_t gpio_read_pin_port(IN sedi_gpio_t gpio_device, IN gpio_port_access_t access_type, in gpio_read_pin_port() argument
146 sedi_gpio_regs_t *reg = resources_map[gpio_device].reg; in gpio_read_pin_port()
150 sedi_gpio_get_capabilities(gpio_device, &cap); in gpio_read_pin_port()
165 void gpio_isr(IN sedi_gpio_t gpio_device) in gpio_isr() argument
167 sedi_gpio_regs_t *gpio = resources_map[gpio_device].reg; in gpio_isr()
168 gpio_context_t *context = &(gpio_context[gpio_device]); in gpio_isr()
193 int32_t sedi_gpio_get_capabilities(IN sedi_gpio_t gpio_device, OUT sedi_gpio_capabilities_t *cap) in sedi_gpio_get_capabilities() argument
195 DBG_CHECK(gpio_device < SEDI_GPIO_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_gpio_get_capabilities()
197 if (sedi_dev_is_self_owned(SEDI_DEVID_GPIO0 + gpio_device)) { in sedi_gpio_get_capabilities()
198 driver_capabilities[gpio_device].is_available = 1; in sedi_gpio_get_capabilities()
200 driver_capabilities[gpio_device].is_available = 0; in sedi_gpio_get_capabilities()
203 *cap = driver_capabilities[gpio_device]; in sedi_gpio_get_capabilities()
208 int32_t sedi_gpio_init(IN sedi_gpio_t gpio_device, IN sedi_gpio_event_cb_t cb, INOUT void *param) in sedi_gpio_init() argument
210 DBG_CHECK(gpio_device < SEDI_GPIO_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_gpio_init()
212 if (!sedi_dev_is_self_owned(SEDI_DEVID_GPIO0 + gpio_device)) { in sedi_gpio_init()
216 if (gpio_context[gpio_device].flag == GPIO_FLAG_INIT) in sedi_gpio_init()
220 gpio_reset_register(gpio_device); in sedi_gpio_init()
223 gpio_context[gpio_device].cb_event = cb; in sedi_gpio_init()
224 gpio_context[gpio_device].callback_param = param; in sedi_gpio_init()
227 gpio_context[gpio_device].flag = GPIO_FLAG_INIT; in sedi_gpio_init()
232 int32_t sedi_gpio_uninit(IN sedi_gpio_t gpio_device) in sedi_gpio_uninit() argument
234 DBG_CHECK(gpio_device < SEDI_GPIO_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_gpio_uninit()
236 gpio_context_t *context = &(gpio_context[gpio_device]); in sedi_gpio_uninit()
248 gpio_reset_register(gpio_device); in sedi_gpio_uninit()
253 int32_t sedi_gpio_set_power(IN sedi_gpio_t gpio_device, IN sedi_power_state_t state) in sedi_gpio_set_power() argument
255 DBG_CHECK(gpio_device < SEDI_GPIO_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_gpio_set_power()
257 return gpio_set_power(gpio_device, state); in sedi_gpio_set_power()
260 void sedi_gpio_config_pin(IN sedi_gpio_t gpio_device, IN uint32_t pin, in sedi_gpio_config_pin() argument
263 sedi_gpio_regs_t *base = resources_map[gpio_device].reg; in sedi_gpio_config_pin()
298 void sedi_gpio_write_pin(IN sedi_gpio_t gpio_device, IN uint32_t pin, in sedi_gpio_write_pin() argument
304 sedi_gpio_regs_t *reg = resources_map[gpio_device].reg; in sedi_gpio_write_pin()
305 gpio_context_t *context = &(gpio_context[gpio_device]); in sedi_gpio_write_pin()
316 void sedi_gpio_write_pin_8bits(IN sedi_gpio_t gpio_device, IN uint8_t group, in sedi_gpio_write_pin_8bits() argument
319 gpio_write_pin_port(gpio_device, SEDI_GPIO_8BITS_ACCESS, group, pin_state); in sedi_gpio_write_pin_8bits()
322 void sedi_gpio_write_pin_16bits(IN sedi_gpio_t gpio_device, IN uint8_t group, in sedi_gpio_write_pin_16bits() argument
325 gpio_write_pin_port(gpio_device, SEDI_GPIO_16BITS_ACCESS, group, pin_state); in sedi_gpio_write_pin_16bits()
328 void sedi_gpio_write_pin_32bits(IN sedi_gpio_t gpio_device, IN uint8_t group, in sedi_gpio_write_pin_32bits() argument
331 gpio_write_pin_port(gpio_device, SEDI_GPIO_32BITS_ACCESS, group, pin_state); in sedi_gpio_write_pin_32bits()
334 sedi_gpio_pin_state_t sedi_gpio_read_pin(IN sedi_gpio_t gpio_device, IN uint32_t pin) in sedi_gpio_read_pin() argument
339 sedi_gpio_regs_t *reg = resources_map[gpio_device].reg; in sedi_gpio_read_pin()
346 uint8_t sedi_gpio_read_pin_8bits(IN sedi_gpio_t gpio_device, IN uint8_t group) in sedi_gpio_read_pin_8bits() argument
348 return gpio_read_pin_port(gpio_device, SEDI_GPIO_8BITS_ACCESS, group); in sedi_gpio_read_pin_8bits()
351 uint16_t sedi_gpio_read_pin_16bits(IN sedi_gpio_t gpio_device, IN uint8_t group) in sedi_gpio_read_pin_16bits() argument
353 return gpio_read_pin_port(gpio_device, SEDI_GPIO_16BITS_ACCESS, group); in sedi_gpio_read_pin_16bits()
356 uint32_t sedi_gpio_read_pin_32bits(IN sedi_gpio_t gpio_device, IN uint8_t group) in sedi_gpio_read_pin_32bits() argument
358 return gpio_read_pin_port(gpio_device, SEDI_GPIO_32BITS_ACCESS, group); in sedi_gpio_read_pin_32bits()
361 void sedi_gpio_toggle_pin(IN sedi_gpio_t gpio_device, IN uint32_t pin) in sedi_gpio_toggle_pin() argument
366 sedi_gpio_regs_t *reg = resources_map[gpio_device].reg; in sedi_gpio_toggle_pin()
367 gpio_context_t *context = &(gpio_context[gpio_device]); in sedi_gpio_toggle_pin()
378 uint32_t sedi_gpio_get_gisr(IN sedi_gpio_t gpio_device, IN sedi_gpio_port_t port) in sedi_gpio_get_gisr() argument
380 SEDI_ASSERT(gpio_device < SEDI_GPIO_NUM); in sedi_gpio_get_gisr()
381 sedi_gpio_regs_t *reg = resources_map[gpio_device].reg; in sedi_gpio_get_gisr()
386 uint32_t sedi_gpio_get_gwsr(IN sedi_gpio_t gpio_device, IN sedi_gpio_port_t port) in sedi_gpio_get_gwsr() argument
388 SEDI_ASSERT(gpio_device < SEDI_GPIO_NUM); in sedi_gpio_get_gwsr()
389 sedi_gpio_regs_t *reg = resources_map[gpio_device].reg; in sedi_gpio_get_gwsr()
394 void sedi_gpio_clear_gisr(IN sedi_gpio_t gpio_device, IN sedi_gpio_port_t port, IN uint32_t val) in sedi_gpio_clear_gisr() argument
396 SEDI_ASSERT(gpio_device < SEDI_GPIO_NUM); in sedi_gpio_clear_gisr()
397 sedi_gpio_regs_t *reg = resources_map[gpio_device].reg; in sedi_gpio_clear_gisr()
403 void sedi_gpio_clear_gwsr(IN sedi_gpio_t gpio_device, IN sedi_gpio_port_t port, IN uint32_t val) in sedi_gpio_clear_gwsr() argument
405 SEDI_ASSERT(gpio_device < SEDI_GPIO_NUM); in sedi_gpio_clear_gwsr()
406 sedi_gpio_regs_t *reg = resources_map[gpio_device].reg; in sedi_gpio_clear_gwsr()
412 void sedi_gpio_enable_interrupt(IN sedi_gpio_t gpio_device, IN uint32_t pin, bool enable) in sedi_gpio_enable_interrupt() argument
414 SEDI_ASSERT(gpio_device < SEDI_GPIO_NUM); in sedi_gpio_enable_interrupt()
415 sedi_gpio_regs_t *base = resources_map[gpio_device].reg; in sedi_gpio_enable_interrupt()
426 void sedi_gpio_enable_wakeup(IN sedi_gpio_t gpio_device, IN uint32_t pin, bool enable) in sedi_gpio_enable_wakeup() argument
428 SEDI_ASSERT(gpio_device < SEDI_GPIO_NUM); in sedi_gpio_enable_wakeup()
429 sedi_gpio_regs_t *base = resources_map[gpio_device].reg; in sedi_gpio_enable_wakeup()