/****************************************************************************** * Filename: setup.h * Revised: 2018-10-24 11:23:04 +0200 (Wed, 24 Oct 2018) * Revision: 52993 * * Description: Prototypes and defines for the setup API. * * Copyright (c) 2015 - 2017, Texas Instruments Incorporated * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1) Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2) Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * 3) Neither the name of the ORGANIZATION nor the names of its contributors may * be used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ******************************************************************************/ //***************************************************************************** // //! \addtogroup system_control_group //! @{ //! \addtogroup setup_api //! @{ // //***************************************************************************** #ifndef __SETUP_H__ #define __SETUP_H__ //***************************************************************************** // // If building with a C++ compiler, make all of the definitions in this header // have a C binding. // //***************************************************************************** #ifdef __cplusplus extern "C" { #endif // Hardware headers #include "../inc/hw_types.h" // Driverlib headers // - None needed //***************************************************************************** // // Support for DriverLib in ROM: // This section renames all functions that are not "static inline", so that // calling these functions will default to implementation in flash. At the end // of this file a second renaming will change the defaults to implementation in // ROM for available functions. // // To force use of the implementation in flash, e.g. for debugging: // - Globally: Define DRIVERLIB_NOROM at project level // - Per function: Use prefix "NOROM_" when calling the function // //***************************************************************************** #if !defined(DOXYGEN) #define SetupTrimDevice NOROM_SetupTrimDevice #endif //***************************************************************************** // //! \brief Performs the necessary trim of the device which is not done in ROM boot code. //! //! This function should only execute coming from ROM boot. //! //! The following is handled by this function: //! - Checks if the driverlib variant used by the application is supported by the //! device. Execution is halted in case of unsupported driverlib variant. //! - Configures VIMS cache mode based on setting in CCFG. //! - Configures functionalities like DCDC and XOSC dependent on startup modes like //! cold reset, wakeup from shutdown and wakeup from from powerdown. //! - Configures VIMS power domain control. //! - Configures optimal wait time for flash FSM in cases where flash pump wakes up from sleep. //! //! \note The current implementation does not take soft reset into account. However, //! it does no damage to execute it again. It only consumes time. //! //! \note This function is called by the compiler specific device startup codes //! that are integrated in the SimpleLink SDKs for CC13xx/CC26XX devices. //! //! \return None // //***************************************************************************** extern void SetupTrimDevice( void ); //***************************************************************************** // // Support for DriverLib in ROM: // Redirect to implementation in ROM when available. // //***************************************************************************** #if !defined(DRIVERLIB_NOROM) && !defined(DOXYGEN) #include "../driverlib/rom.h" #ifdef ROM_SetupTrimDevice #undef SetupTrimDevice #define SetupTrimDevice ROM_SetupTrimDevice #endif #endif //***************************************************************************** // // Mark the end of the C bindings section for C++ compilers. // //***************************************************************************** #ifdef __cplusplus } #endif #endif // __SETUP_H__ //***************************************************************************** // //! Close the Doxygen group. //! @} //! @} // //*****************************************************************************