1*5fd0122aSMatthias Ringwald /* --COPYRIGHT--,BSD 2*5fd0122aSMatthias Ringwald * Copyright (c) 2017, Texas Instruments Incorporated 3*5fd0122aSMatthias Ringwald * All rights reserved. 4*5fd0122aSMatthias Ringwald * 5*5fd0122aSMatthias Ringwald * Redistribution and use in source and binary forms, with or without 6*5fd0122aSMatthias Ringwald * modification, are permitted provided that the following conditions 7*5fd0122aSMatthias Ringwald * are met: 8*5fd0122aSMatthias Ringwald * 9*5fd0122aSMatthias Ringwald * * Redistributions of source code must retain the above copyright 10*5fd0122aSMatthias Ringwald * notice, this list of conditions and the following disclaimer. 11*5fd0122aSMatthias Ringwald * 12*5fd0122aSMatthias Ringwald * * Redistributions in binary form must reproduce the above copyright 13*5fd0122aSMatthias Ringwald * notice, this list of conditions and the following disclaimer in the 14*5fd0122aSMatthias Ringwald * documentation and/or other materials provided with the distribution. 15*5fd0122aSMatthias Ringwald * 16*5fd0122aSMatthias Ringwald * * Neither the name of Texas Instruments Incorporated nor the names of 17*5fd0122aSMatthias Ringwald * its contributors may be used to endorse or promote products derived 18*5fd0122aSMatthias Ringwald * from this software without specific prior written permission. 19*5fd0122aSMatthias Ringwald * 20*5fd0122aSMatthias Ringwald * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21*5fd0122aSMatthias Ringwald * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 22*5fd0122aSMatthias Ringwald * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23*5fd0122aSMatthias Ringwald * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24*5fd0122aSMatthias Ringwald * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25*5fd0122aSMatthias Ringwald * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26*5fd0122aSMatthias Ringwald * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 27*5fd0122aSMatthias Ringwald * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 28*5fd0122aSMatthias Ringwald * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 29*5fd0122aSMatthias Ringwald * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 30*5fd0122aSMatthias Ringwald * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31*5fd0122aSMatthias Ringwald * --/COPYRIGHT--*/ 32*5fd0122aSMatthias Ringwald #ifndef __CPU_H__ 33*5fd0122aSMatthias Ringwald #define __CPU_H__ 34*5fd0122aSMatthias Ringwald 35*5fd0122aSMatthias Ringwald #include <stdint.h> 36*5fd0122aSMatthias Ringwald 37*5fd0122aSMatthias Ringwald //***************************************************************************** 38*5fd0122aSMatthias Ringwald // 39*5fd0122aSMatthias Ringwald // If building with a C++ compiler, make all of the definitions in this header 40*5fd0122aSMatthias Ringwald // have a C binding. 41*5fd0122aSMatthias Ringwald // 42*5fd0122aSMatthias Ringwald //***************************************************************************** 43*5fd0122aSMatthias Ringwald #ifdef __cplusplus 44*5fd0122aSMatthias Ringwald extern "C" 45*5fd0122aSMatthias Ringwald { 46*5fd0122aSMatthias Ringwald #endif 47*5fd0122aSMatthias Ringwald 48*5fd0122aSMatthias Ringwald //***************************************************************************** 49*5fd0122aSMatthias Ringwald // 50*5fd0122aSMatthias Ringwald // Prototypes. 51*5fd0122aSMatthias Ringwald // 52*5fd0122aSMatthias Ringwald //***************************************************************************** 53*5fd0122aSMatthias Ringwald extern uint32_t CPU_cpsid(void); 54*5fd0122aSMatthias Ringwald extern uint32_t CPU_cpsie(void); 55*5fd0122aSMatthias Ringwald extern uint32_t CPU_primask(void); 56*5fd0122aSMatthias Ringwald extern void CPU_wfi(void); 57*5fd0122aSMatthias Ringwald extern uint32_t CPU_basepriGet(void); 58*5fd0122aSMatthias Ringwald extern void CPU_basepriSet(uint32_t newBasepri); 59*5fd0122aSMatthias Ringwald 60*5fd0122aSMatthias Ringwald 61*5fd0122aSMatthias Ringwald //***************************************************************************** 62*5fd0122aSMatthias Ringwald // 63*5fd0122aSMatthias Ringwald // Mark the end of the C bindings section for C++ compilers. 64*5fd0122aSMatthias Ringwald // 65*5fd0122aSMatthias Ringwald //***************************************************************************** 66*5fd0122aSMatthias Ringwald #ifdef __cplusplus 67*5fd0122aSMatthias Ringwald } 68*5fd0122aSMatthias Ringwald #endif 69*5fd0122aSMatthias Ringwald 70*5fd0122aSMatthias Ringwald #endif // __CPU_H__ 71*5fd0122aSMatthias Ringwald 72