Lines Matching refs:gpio_obj
252 const struct swm_pin_device *gpio_obj; in _pin2struct() local
256 gpio_obj = &pin_obj[pin]; in _pin2struct()
260 gpio_obj = RT_NULL; in _pin2struct()
263 return gpio_obj; in _pin2struct()
268 const struct swm_pin_device *gpio_obj; in swm_pin_mode() local
273 gpio_obj = _pin2struct(pin); in swm_pin_mode()
274 if (gpio_obj == RT_NULL) in swm_pin_mode()
306 GPIO_Init(gpio_obj->gpio, gpio_obj->pin, dir, pull_up, pull_down); in swm_pin_mode()
311 const struct swm_pin_device *gpio_obj; in swm_pin_write() local
313 gpio_obj = _pin2struct(pin); in swm_pin_write()
314 if (gpio_obj == RT_NULL) in swm_pin_write()
320 GPIO_AtomicSetBit(gpio_obj->gpio, gpio_obj->pin); in swm_pin_write()
324 GPIO_AtomicClrBit(gpio_obj->gpio, gpio_obj->pin); in swm_pin_write()
330 const struct swm_pin_device *gpio_obj; in swm_pin_read() local
332 gpio_obj = _pin2struct(pin); in swm_pin_read()
333 if (gpio_obj == RT_NULL) in swm_pin_read()
337 return (rt_ssize_t)GPIO_GetBit(gpio_obj->gpio, gpio_obj->pin); in swm_pin_read()
381 const struct swm_pin_device *gpio_obj; in swm_pin_irq_enable() local
384 gpio_obj = _pin2struct(pin); in swm_pin_irq_enable()
385 if (gpio_obj == RT_NULL) in swm_pin_irq_enable()
395 GPIO_Init(gpio_obj->gpio, gpio_obj->pin, 0, 0, 1); in swm_pin_irq_enable()
396 EXTI_Init(gpio_obj->gpio, gpio_obj->pin, EXTI_RISE_EDGE); in swm_pin_irq_enable()
399 GPIO_Init(gpio_obj->gpio, gpio_obj->pin, 0, 1, 0); in swm_pin_irq_enable()
400 EXTI_Init(gpio_obj->gpio, gpio_obj->pin, EXTI_FALL_EDGE); in swm_pin_irq_enable()
403 GPIO_Init(gpio_obj->gpio, gpio_obj->pin, 0, 1, 1); in swm_pin_irq_enable()
404 EXTI_Init(gpio_obj->gpio, gpio_obj->pin, EXTI_BOTH_EDGE); in swm_pin_irq_enable()
407 GPIO_Init(gpio_obj->gpio, gpio_obj->pin, 0, 0, 1); in swm_pin_irq_enable()
408 EXTI_Init(gpio_obj->gpio, gpio_obj->pin, EXTI_HIGH_LEVEL); in swm_pin_irq_enable()
411 GPIO_Init(gpio_obj->gpio, gpio_obj->pin, 0, 1, 0); in swm_pin_irq_enable()
412 EXTI_Init(gpio_obj->gpio, gpio_obj->pin, EXTI_LOW_LEVEL); in swm_pin_irq_enable()
419 NVIC_EnableIRQ(gpio_obj->irq); in swm_pin_irq_enable()
420 EXTI_Open(gpio_obj->gpio, gpio_obj->pin); in swm_pin_irq_enable()
427 EXTI_Close(gpio_obj->gpio, gpio_obj->pin); in swm_pin_irq_enable()
514 const struct swm_pin_device *gpio_obj; in swm_pin_isr() local
519 for (gpio_obj = &pin_obj[0]; in swm_pin_isr()
520 gpio_obj->index < ITEM_NUM(pin_obj); in swm_pin_isr()
521 gpio_obj++) in swm_pin_isr()
523 if (gpio_obj->gpio == GPIOx) in swm_pin_isr()
525 gpio[index] = gpio_obj->index; in swm_pin_isr()
533 gpio_obj = _pin2struct(gpio[index]); in swm_pin_isr()
534 if (EXTI_State(gpio_obj->gpio, gpio_obj->pin)) in swm_pin_isr()
536 EXTI_Clear(gpio_obj->gpio, gpio_obj->pin); in swm_pin_isr()
537 if (pin_irq_hdr_tab[gpio_obj->index].hdr) in swm_pin_isr()
539 pin_irq_hdr_tab[gpio_obj->index].hdr(pin_irq_hdr_tab[gpio_obj->index].args); in swm_pin_isr()