1 /**
2 * @file csl_mpu.h
3 *
4 * @brief
5 * This is the header file for the MPU CSL Functional Layer.
6 *
7 * \par
8 * ============================================================================
9 * @n (C) Copyright 2011 Texas Instruments, Inc.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 *
15 * Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer.
17 *
18 * Redistributions in binary form must reproduce the above copyright
19 * notice, this list of conditions and the following disclaimer in the
20 * documentation and/or other materials provided with the
21 * distribution.
22 *
23 * Neither the name of Texas Instruments Incorporated nor the names of
24 * its contributors may be used to endorse or promote products derived
25 * from this software without specific prior written permission.
26 *
27 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
32 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
33 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
35 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
37 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38 *
39 */
41 /** @defgroup CSL_MPU_API MPU
42 *
43 * @section Introduction
44 * The MPU performs memory protection checking for a CBA bus. It inputs a VBUSM
45 * or VBUSP bus, checks the address against the fixed and programmable regions
46 * to see if the access is allowed. If allowed the transfer is passed unmodified
47 * to the output VBUSM or VBUSP bus. If the transfer is illegal (fails the
48 * protection check) then the MPU does not pass the transfer to the output bus
49 * but rather services the transfer internally back to the input bus (to prevent
50 * a hang) returning the fault status to the requestor as well as generating an
51 * interrupt about the fault.
52 *
53 * @subsection References
54 * -# MPU Module Specification.
55 */
56 #ifndef CSL_MPU_H
57 #define CSL_MPU_H
59 #ifdef __cplusplus
60 extern "C" {
61 #endif
63 #include <ti/csl/soc.h>
64 #include <ti/csl/csl.h>
65 #include <ti/csl/cslr_mpu.h>
67 /**
68 @defgroup CSL_MPU_SYMBOL MPU Symbols Defined
69 @ingroup CSL_MPU_API
70 */
71 /**
72 @defgroup CSL_MPU_DATASTRUCT MPU Data Structures
73 @ingroup CSL_MPU_API
74 */
75 /**
76 @defgroup CSL_MPU_FUNCTION MPU Functions
77 @ingroup CSL_MPU_API
78 */
80 /** @addtogroup CSL_MPU_DATASTRUCT
81 @{ */
83 /** @brief This is the handle to the MPU Register */
84 typedef volatile CSL_MpuRegs* CSL_MpuHandle;
86 /**
87 @}
88 */
90 /* Device specific API which opens the MPU instance and returns a handle used in all subsequent calls */
91 extern CSL_MpuHandle CSL_MPU_Open (Int32 instNum);
93 #ifdef __cplusplus
94 }
95 #endif
97 #endif /* CSL_MPU_H */