1 /**
2 * @file VAYUDspHal.h
3 *
4 * @brief Top-level header file for VAYUDSP Hardware Abstraction Layer.
5 *
6 * This module is responsible for handling device-specific
7 * operations.
8 * The implementation is specific to VAYUDSP.
9 *
10 *
11 */
12 /*
13 * ============================================================================
14 *
15 * Copyright (c) 2013, Texas Instruments Incorporated
16 *
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions
19 * are met:
20 *
21 * * Redistributions of source code must retain the above copyright
22 * notice, this list of conditions and the following disclaimer.
23 *
24 * * Redistributions in binary form must reproduce the above copyright
25 * notice, this list of conditions and the following disclaimer in the
26 * documentation and/or other materials provided with the distribution.
27 *
28 * * Neither the name of Texas Instruments Incorporated nor the names of
29 * its contributors may be used to endorse or promote products derived
30 * from this software without specific prior written permission.
31 *
32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
33 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
34 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
35 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
36 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
37 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
38 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
39 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
40 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
41 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
42 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
43 * Contact information for paper mail:
44 * Texas Instruments
45 * Post Office Box 655303
46 * Dallas, Texas 75265
47 * Contact information:
48 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
49 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
50 * ============================================================================
51 *
52 */
55 #ifndef VAYUDSPDSPHAL_H_0xbbed
56 #define VAYUDSPDSPHAL_H_0xbbed
59 /* Module level headers */
60 #include <_ProcDefs.h>
61 #include <VAYUDspHalMmu.h>
64 #if defined (__cplusplus)
65 extern "C" {
66 #endif
69 /* =============================================================================
70 * Macros and types
71 * See _ProcDefs.h
72 * =============================================================================
73 */
75 /*!
76 * @brief Hardware Abstraction object.
77 */
78 typedef struct VAYUDSP_HalObject_tag {
79 UInt32 generalCtrlBase;
80 /*!< Virtual base address of the General Control module. */
81 UInt32 cmBase;
82 /*!< Virtual base address of the General Control module. */
83 UInt32 prmBase;
84 /*!< Virtual base address of the General Control module. */
85 UInt32 l2ClkBase;
86 /*!< Virtual base address of the General Control module. */
87 UInt32 bootStatBase;
88 /*!< Virtual base address of the General Control module. */
89 UInt32 mmuBase;
90 /*!< Base address of the MMU module. */
91 UInt32 mmuSysBase;
92 /*!< Base address of the MMU module. */
93 UInt32 procId;
94 /*!< Processor ID. */
95 VAYUDSP_HalMmuObject mmuObj;
96 /*!< MMU abstraction. */
97 } VAYUDSP_HalObject;
100 /* =============================================================================
101 * APIs
102 * =============================================================================
103 */
104 /* Function to initialize the HAL object */
105 Int VAYUDSP_halInit (Ptr * halObj, Ptr params);
107 /* Function to finalize the HAL object */
108 Int VAYUDSP_halExit (Ptr halObj);
111 #if defined (__cplusplus)
112 }
113 #endif /* defined (__cplusplus) */
115 #endif /* VAYUDspHal_H_0xbbec */