Lines Matching refs:gpio_context
43 #define GPIO_ENTER_CRITICAL() do { gpio_context.gpio_spinlock = irq_lock(); } while(0)
44 #define GPIO_EXIT_CRITICAL() irq_unlock(gpio_context.gpio_spinlock);
74 static gpio_context_t gpio_context = { variable
87 gpio_hal_pullup_en(gpio_context.gpio_hal, gpio_num); in gpio_pullup_en()
106 gpio_hal_pullup_dis(gpio_context.gpio_hal, gpio_num); in gpio_pullup_dis()
125 gpio_hal_pulldown_en(gpio_context.gpio_hal, gpio_num); in gpio_pulldown_en()
144 gpio_hal_pulldown_dis(gpio_context.gpio_hal, gpio_num); in gpio_pulldown_dis()
163 gpio_hal_set_intr_type(gpio_context.gpio_hal, gpio_num, intr_type); in gpio_set_intr_type()
165 gpio_context.isr_clr_on_entry_mask |= (1ULL << (gpio_num)); in gpio_set_intr_type()
167 gpio_context.isr_clr_on_entry_mask &= ~(1ULL << (gpio_num)); in gpio_set_intr_type()
175 gpio_hal_intr_enable_on_core(gpio_context.gpio_hal, gpio_num, core_id); in gpio_intr_enable_on_core()
183 if(gpio_context.isr_core_id == GPIO_ISR_CORE_ID_UNINIT) { in gpio_intr_enable()
184 gpio_context.isr_core_id = ESP_CORE_ID(); in gpio_intr_enable()
187 return gpio_intr_enable_on_core (gpio_num, gpio_context.isr_core_id); in gpio_intr_enable()
193 gpio_hal_intr_disable(gpio_context.gpio_hal, gpio_num); in gpio_intr_disable()
200 gpio_hal_input_disable(gpio_context.gpio_hal, gpio_num); in gpio_input_disable()
207 gpio_hal_input_enable(gpio_context.gpio_hal, gpio_num); in gpio_input_enable()
214 gpio_hal_output_disable(gpio_context.gpio_hal, gpio_num); in gpio_output_disable()
221 gpio_hal_output_enable(gpio_context.gpio_hal, gpio_num); in gpio_output_enable()
229 gpio_hal_od_disable(gpio_context.gpio_hal, gpio_num); in gpio_od_disable()
236 gpio_hal_od_enable(gpio_context.gpio_hal, gpio_num); in gpio_od_enable()
243 gpio_hal_set_level(gpio_context.gpio_hal, gpio_num, level); in gpio_set_level()
249 return gpio_hal_get_level(gpio_context.gpio_hal, gpio_num); in gpio_get_level()
255 gpio_hal_hysteresis_soft_enable(gpio_context.gpio_hal, gpio_num, true); in gpio_hysteresis_enable()
261 gpio_hal_hysteresis_soft_enable(gpio_context.gpio_hal, gpio_num, false); in gpio_hysteresis_disable()
267 gpio_hal_hysteresis_from_efuse(gpio_context.gpio_hal, gpio_num); in gpio_hysteresis_by_efuse()
462 if ((1ULL << (gpio_num)) & gpio_context.isr_clr_on_entry_mask) { in gpio_isr_loop()
464 gpio_hal_clear_intr_status_bit(gpio_context.gpio_hal, gpio_num); in gpio_isr_loop()
467 if (gpio_context.gpio_isr_func[gpio_num].fn != NULL) { in gpio_isr_loop()
468 gpio_context.gpio_isr_func[gpio_num].fn(gpio_context.gpio_isr_func[gpio_num].args); in gpio_isr_loop()
473 gpio_hal_clear_intr_status_bit(gpio_context.gpio_hal, gpio_num); in gpio_isr_loop()
481 if (gpio_context.gpio_isr_func == NULL) { in gpio_intr_service()
487 gpio_hal_get_intr_status(gpio_context.gpio_hal, gpio_context.isr_core_id, &gpio_intr_status); in gpio_intr_service()
495 …gpio_hal_get_intr_status_high(gpio_context.gpio_hal, gpio_context.isr_core_id, &gpio_intr_status_h… in gpio_intr_service()
504 …GPIO_CHECK(gpio_context.gpio_isr_func == NULL, "GPIO isr service already installed", ESP_ERR_INVAL… in gpio_install_isr_service()
509 if (gpio_context.gpio_isr_func == NULL) { in gpio_install_isr_service()
510 gpio_context.gpio_isr_func = isr_func; in gpio_install_isr_service()
512 … ret = gpio_isr_register(gpio_intr_service, NULL, intr_alloc_flags, &gpio_context.gpio_isr_handle); in gpio_install_isr_service()
530 …GPIO_CHECK(gpio_context.gpio_isr_func != NULL, "GPIO isr service is not installed, call gpio_insta… in gpio_isr_handler_add()
534 if (gpio_context.gpio_isr_func) { in gpio_isr_handler_add()
535 gpio_context.gpio_isr_func[gpio_num].fn = isr_handler; in gpio_isr_handler_add()
536 gpio_context.gpio_isr_func[gpio_num].args = args; in gpio_isr_handler_add()
538 gpio_intr_enable_on_core (gpio_num, esp_intr_get_cpu(gpio_context.gpio_isr_handle)); in gpio_isr_handler_add()
545 …GPIO_CHECK(gpio_context.gpio_isr_func != NULL, "GPIO isr service is not installed, call gpio_insta… in gpio_isr_handler_remove()
549 if (gpio_context.gpio_isr_func) { in gpio_isr_handler_remove()
550 gpio_context.gpio_isr_func[gpio_num].fn = NULL; in gpio_isr_handler_remove()
551 gpio_context.gpio_isr_func[gpio_num].args = NULL; in gpio_isr_handler_remove()
562 if (gpio_context.gpio_isr_func == NULL) { in gpio_uninstall_isr_service()
566 gpio_isr_func_free = gpio_context.gpio_isr_func; in gpio_uninstall_isr_service()
567 gpio_context.gpio_isr_func = NULL; in gpio_uninstall_isr_service()
568 gpio_isr_handle_free = gpio_context.gpio_isr_handle; in gpio_uninstall_isr_service()
569 gpio_context.gpio_isr_handle = NULL; in gpio_uninstall_isr_service()
570 gpio_context.isr_core_id = GPIO_ISR_CORE_ID_UNINIT; in gpio_uninstall_isr_service()
598 if(gpio_context.isr_core_id == GPIO_ISR_CORE_ID_UNINIT) { in gpio_isr_register()
599 gpio_context.isr_core_id = ESP_CORE_ID(); in gpio_isr_register()
607 …ret = esp_ipc_call_blocking(gpio_context.isr_core_id, gpio_isr_register_on_core_static, (void *)&p… in gpio_isr_register()
632 gpio_hal_set_intr_type(gpio_context.gpio_hal, gpio_num, intr_type); in gpio_wakeup_enable()
633 gpio_hal_wakeup_enable(gpio_context.gpio_hal, gpio_num); in gpio_wakeup_enable()
635 gpio_hal_sleep_sel_dis(gpio_context.gpio_hal, gpio_num); in gpio_wakeup_enable()
661 gpio_hal_wakeup_disable(gpio_context.gpio_hal, gpio_num); in gpio_wakeup_disable()
663 gpio_hal_sleep_sel_en(gpio_context.gpio_hal, gpio_num); in gpio_wakeup_disable()
677 gpio_hal_set_drive_capability(gpio_context.gpio_hal, gpio_num, strength); in gpio_set_drive_capability()
698 gpio_hal_get_drive_capability(gpio_context.gpio_hal, gpio_num, strength); in gpio_get_drive_capability()
722 gpio_hal_hold_en(gpio_context.gpio_hal, gpio_num); in gpio_hold_en()
742 gpio_hal_hold_dis(gpio_context.gpio_hal, gpio_num); in gpio_hold_dis()
755 gpio_hal_deep_sleep_hold_en(gpio_context.gpio_hal); in gpio_deep_sleep_hold_en()
762 gpio_hal_deep_sleep_hold_dis(gpio_context.gpio_hal); in gpio_deep_sleep_hold_dis()
793 gpio_hal_iomux_in(gpio_context.gpio_hal, gpio, signal_idx); in gpio_iomux_in()
798 gpio_hal_iomux_out(gpio_context.gpio_hal, gpio_num, func, (uint32_t)oen_inv); in gpio_iomux_out()
806 gpio_hal_sleep_pullup_en(gpio_context.gpio_hal, gpio_num); in gpio_sleep_pullup_en()
817 gpio_hal_sleep_pullup_dis(gpio_context.gpio_hal, gpio_num); in gpio_sleep_pullup_dis()
828 gpio_hal_sleep_pulldown_en(gpio_context.gpio_hal, gpio_num); in gpio_sleep_pulldown_en()
839 gpio_hal_sleep_pulldown_dis(gpio_context.gpio_hal, gpio_num); in gpio_sleep_pulldown_dis()
848 gpio_hal_sleep_input_disable(gpio_context.gpio_hal, gpio_num); in gpio_sleep_input_disable()
855 gpio_hal_sleep_input_enable(gpio_context.gpio_hal, gpio_num); in gpio_sleep_input_enable()
862 gpio_hal_sleep_output_disable(gpio_context.gpio_hal, gpio_num); in gpio_sleep_output_disable()
869 gpio_hal_sleep_output_enable(gpio_context.gpio_hal, gpio_num); in gpio_sleep_output_enable()
940 gpio_hal_sleep_sel_en(gpio_context.gpio_hal, gpio_num); in gpio_sleep_sel_en()
951 gpio_hal_sleep_sel_dis(gpio_context.gpio_hal, gpio_num); in gpio_sleep_sel_dis()
961 gpio_hal_sleep_pupd_config_apply(gpio_context.gpio_hal, gpio_num); in gpio_sleep_pupd_config_apply()
968 gpio_hal_sleep_pupd_config_unapply(gpio_context.gpio_hal, gpio_num); in gpio_sleep_pupd_config_unapply()
985 gpio_hal_deepsleep_wakeup_enable(gpio_context.gpio_hal, gpio_num, intr_type); in gpio_deep_sleep_wakeup_enable()
987 gpio_hal_sleep_sel_dis(gpio_context.gpio_hal, gpio_num); in gpio_deep_sleep_wakeup_enable()
1000 gpio_hal_deepsleep_wakeup_disable(gpio_context.gpio_hal, gpio_num); in gpio_deep_sleep_wakeup_disable()
1002 gpio_hal_sleep_sel_en(gpio_context.gpio_hal, gpio_num); in gpio_deep_sleep_wakeup_disable()