btbb_init.c 769 B

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #include <stdint.h>
  7. #include "freertos/FreeRTOS.h"
  8. #include "esp_private/btbb.h"
  9. #define BTBB_ENABLE_VERSION_PRINT 1
  10. static _lock_t s_btbb_access_lock;
  11. /* Reference count of enabling BT BB */
  12. static uint8_t s_btbb_access_ref = 0;
  13. void esp_btbb_enable(void)
  14. {
  15. _lock_acquire(&s_btbb_access_lock);
  16. if (s_btbb_access_ref == 0) {
  17. bt_bb_v2_init_cmplx(BTBB_ENABLE_VERSION_PRINT);
  18. }
  19. s_btbb_access_ref++;
  20. _lock_release(&s_btbb_access_lock);
  21. }
  22. void esp_btbb_disable(void)
  23. {
  24. _lock_acquire(&s_btbb_access_lock);
  25. if (s_btbb_access_ref > 0) {
  26. s_btbb_access_ref--;
  27. }
  28. _lock_release(&s_btbb_access_lock);
  29. }