/***************************************************************************//** * \file cy_syspm_btss.h * \version 5.150 * * Provides the API declarations of the BTSS driver. * ******************************************************************************** * \copyright * Copyright 2016-2021 Cypress Semiconductor Corporation * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *******************************************************************************/ /** * \addtogroup group_syspm_btss BTSS Host API(Bluetooth Sub System Host API) * \{ * BTSS PDL Driver helps in controlling the BTSS from the MCU side. * * For more information on the BTSS , refer to * the technical reference manual (TRM). * * \section group_syspm_btss_MISRA MISRA-C Compliance * The BTSS driver does not have any specific deviations. * * \section group_syspm_btss_changelog Changelog * * * * * * * * * * * * *
VersionChangesReason for Change
5.150Version updated to match SYSPM driver.
1.0Initial version
* * \defgroup group_syspm_btss_macros Macros * \defgroup group_syspm_btss_functions Functions * \defgroup group_syspm_btss_data_structures Data Structures * \defgroup group_syspm_btss_enums General Enumerated Types * \{ * \defgroup group_syspm_btss_returns Function return values * \} */ #ifndef CY_BTSS_H #define CY_BTSS_H #include "cy_device.h" #if defined (CY_IP_MXS40BLE52SS) #include #include #include #include "cy_syslib.h" #include "cy_device_headers.h" #include "cy_sysclk.h" #include "cy_syspm_pdcm.h" #ifdef __cplusplus extern "C" { #endif /** * \addtogroup group_syspm_btss_macros * \{ */ /** Driver major version */ #define CY_BTSS_DRV_VERSION_MAJOR 5 /** Driver minor version */ #define CY_BTSS_DRV_VERSION_MINOR 150 /** Timeout for SL CTL3 register wait in micro seconds */ #define CY_BTSS_SL_CTL3_WAIT_DELAY_US 500000UL /** \} group_syspm_btss_macros */ /** * \addtogroup group_syspm_btss_returns * \{ */ /** Defines general-purpose function return values */ typedef enum { CY_BTSS_SUCCESS = CY_SYSPM_SUCCESS, /**< Command completed with no errors */ CY_BTSS_BAD_PARAM = CY_SYSPM_BAD_PARAM, /**< Invalid function input parameter */ CY_BTSS_TIMEOUT = CY_SYSPM_TIMEOUT, /**< Timeout occurred */ CY_BTSS_INVALID_STATE = CY_SYSPM_INVALID_STATE, /**< BTSS is in an invalid state */ } cy_en_btss_status_t; /** \} group_syspm_btss_returns */ /** * \addtogroup group_syspm_btss_functions * \{ */ /******************************************************************************* * Function Name: Cy_BTSS_GetXtalOscFreq ****************************************************************************//** * * Gets the Crystal Oscillator Frequency(Hz) generated by Radio Hard IP * * \return Frequency(Hz) of Crystal Oscillator generated by Radio Hard IP * *******************************************************************************/ uint32_t Cy_BTSS_GetXtalOscFreq(void); /******************************************************************************* * Function Name: Cy_BTSS_PowerDep ****************************************************************************//** * * Enable/Disable the Power dependency of BTSS on CPUSS. * If enabled, BTSS will wake up and will be ON as long as CPUSS is ON. * * \param enable TRUE-Enable, FASLE-Disable * * \return \ref cy_en_btss_status_t * * \note * This API needs to be used to wake and keep the BTSS ON , while CPUSS is ON. * *******************************************************************************/ cy_en_btss_status_t Cy_BTSS_PowerDep(bool enable); /******************************************************************************* * Function Name: Cy_BTSS_CPUSSPowerDep ****************************************************************************//** * * Enable/Disable the Power dependency of CPUSS on BTSS. * If enabled, CPUSS will be ON as long as BTSS is ON. * * \param enable TRUE-Enable, FASLE-Disable * * \return \ref cy_en_btss_status_t * * \note * This API needs to be used if we need to keep the CPUSS ON , while BTSS is ON. * *******************************************************************************/ cy_en_btss_status_t Cy_BTSS_CPUSSPowerDep(bool enable); /******************************************************************************* * Function Name: Cy_BTSS_PowerDepResetCount ****************************************************************************//** * * Reset Power dependency use count. * * \note * This API can be used to reset use count to Zero when BT Reset happens. * *******************************************************************************/ void Cy_BTSS_PowerDepResetCount(void); /******************************************************************************* * Function Name: Cy_BTSS_AssertReset ****************************************************************************//** * * Asserts/De-Asserts Reset of BTSS IP. * * \param assertEn TRUE-Enable, FALSE-Disable * *******************************************************************************/ void Cy_BTSS_AssertReset(bool assertEn); /******************************************************************************* * Function Name: Cy_BTSS_IsResetAsserted ****************************************************************************//** * * Checks if BTSS IP Reset is Asserted or not. * * \return TRUE- if Assert Enabled, FALSE- if Assert Disabled. * *******************************************************************************/ bool Cy_BTSS_IsResetAsserted(void); /** \} group_syspm_btss_functions */ #ifdef __cplusplus } #endif #endif /* CY_IP_MXS40BLE52SS */ #endif /* CY_BTSS_H */ /** \} group_syspm_btss */ /* [] END OF FILE */