phy.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. #pragma once
  15. #include "esp_phy_init.h"
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. #define ESP_CAL_DATA_CHECK_FAIL 1
  20. /**
  21. * @file phy.h
  22. * @brief Declarations for functions provided by libphy.a
  23. */
  24. /**
  25. * @brief Return ROM function pointer table from PHY library.
  26. */
  27. void phy_get_romfunc_addr(void);
  28. /**
  29. * @brief Initialize PHY module and do RF calibration
  30. * @param[in] init_data Initialization parameters to be used by the PHY
  31. * @param[inout] cal_data As input, calibration data previously obtained. As output, will contain new calibration data.
  32. * @param[in] cal_mode RF calibration mode
  33. * @return ESP_CAL_DATA_CHECK_FAIL if calibration data checksum fails, other values are reserved for future use
  34. */
  35. int register_chipv7_phy(const esp_phy_init_data_t* init_data, esp_phy_calibration_data_t *cal_data, esp_phy_calibration_mode_t cal_mode);
  36. /**
  37. * @brief Get the format version of calibration data used by PHY library.
  38. * @return Format version number, OR'ed with BIT(16) if PHY is in WIFI only mode.
  39. */
  40. uint32_t phy_get_rf_cal_version();
  41. /**
  42. * @brief Set RF/BB for only WIFI mode or coexist(WIFI & BT) mode
  43. * @param[in] true is for only WIFI mode, false is for coexist mode. default is 0.
  44. * @return NULL
  45. */
  46. void phy_set_wifi_mode_only(bool wifi_only);
  47. /**
  48. * @brief Set BT the highest priority in coexist mode.
  49. * @return NULL
  50. */
  51. void coex_bt_high_prio(void);
  52. /**
  53. * @brief Shutdown PHY and RF.
  54. */
  55. void phy_close_rf(void);
  56. #ifdef __cplusplus
  57. }
  58. #endif