Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

omap3530_hal_mmu.h

Go to the documentation of this file.
00001 /** ============================================================================
00002  *  @file   omap3530_hal_mmu.h
00003  *
00004  *  @path   $(DSPLINK)/gpp/inc/sys/arch/OMAP3530/
00005  *
00006  *  @brief  Hardware Abstraction Layer for Memory management
00007  *          module in OMAP.
00008  *
00009  *  @ver    1.65.00.03
00010  *  ============================================================================
00011  *  @copyright Copyright (C) 2002-2009, Texas Instruments Incorporated -
00012  *  http://www.ti.com/
00013  *
00014  *  Redistribution and use in source and binary forms, with or without
00015  *  modification, are permitted provided that the following conditions
00016  *  are met:
00017  *  
00018  *  *  Redistributions of source code must retain the above copyright
00019  *     notice, this list of conditions and the following disclaimer.
00020  *  
00021  *  *  Redistributions in binary form must reproduce the above copyright
00022  *     notice, this list of conditions and the following disclaimer in the
00023  *     documentation and/or other materials provided with the distribution.
00024  *  
00025  *  *  Neither the name of Texas Instruments Incorporated nor the names of
00026  *     its contributors may be used to endorse or promote products derived
00027  *     from this software without specific prior written permission.
00028  *  
00029  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00030  *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00031  *  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00032  *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00033  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00034  *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00035  *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00036  *  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00037  *  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00038  *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00039  *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00040  *  ============================================================================
00041  */
00042 
00043 
00044 #if !defined (ID_ARCH_HAL_MMU_H)
00045 #define ID_ARCH_HAL_MMU_H
00046 
00047 
00048 /*  ----------------------------------- DSP/BIOS Link               */
00049 #include <dsplink.h>
00050 #include <_dsplink.h>
00051 
00052 /*  ----------------------------------- Trace & Debug               */
00053 #include <_trace.h>
00054 
00055 /*  ----------------------------------- Generic Functions           */
00056 #include <list.h>
00057 
00058 /*  ----------------------------------- Hardware Abstraction Layer  */
00059 #include <omap3530_hal.h>
00060 
00061 
00062 #if defined (__cplusplus)
00063 extern "C" {
00064 #endif
00065 
00066 /** ============================================================================
00067  *  @name   listOfEntries
00068  *
00069  *  @brief  Information for MMU Entry
00070  *
00071  *  @param  element
00072  *              ListElement.
00073  *  @param  dspVirtAddr
00074  *              DSP virtual address.
00075  *  @param  actualSize
00076  *              Actual Size of Entry.
00077  *  @param  processAddr
00078  *              Processed address.
00079  *  @param  processSize
00080  *              Processed size.
00081  *  @param  tlbEntry
00082  *              TLB entry of the MMU module.
00083  *  @param  type
00084  *              Type of entry.
00085  *  ============================================================================
00086  */
00087 typedef struct listOfEntries {
00088     ListElement    element ;
00089     Uint32 dspVirtAddr ;
00090     Uint32 actualSize ;
00091     Uint32 processAddr ;
00092     Uint32 processSize ;
00093     Uint32 tlbEntry ;
00094     Bool type ;
00095 } MMU_EntryInfo ;
00096 
00097 
00098 /** ============================================================================
00099  *  @func   OMAP3530_halMmuCtrl
00100  *
00101  *  @brief  MMU conrtoller.
00102  *
00103  *  @param halObj.
00104  *              Pointer to HAL object.
00105  *  @param cmd.
00106  *              Command.
00107  *  @param memTable
00108  *              Memory Table.
00109  *  @param memEntries.
00110  *              Number of entries in memTable.
00111  *  @param mmuInfo
00112  *              Control information for mapping.
00113  *
00114  *  @return DSP_SOK
00115  *              Operation successfully completed.
00116  *          DSP_ECONFIG
00117  *              Configuration error.
00118  *          DSP_EINVALIDARG
00119  *              An invalid argument was specified.
00120  *          DSP_ERANGE
00121  *              Invalid range for dynamic entry.
00122  *          DSP_SEXISTS
00123  *              Enrty exists.
00124  *
00125  *  @pre    None.
00126  *
00127  *  @post   None.
00128  *
00129  *  @see    None
00130  *  ============================================================================
00131  */
00132 NORMAL_API
00133 DSP_STATUS
00134 OMAP3530_halMmuCtrl (IN         Pvoid               halObj,
00135                      IN         DSP_MmuCtrlCmd cmd,
00136                      IN         LINKCFG_MemEntry *  memTable,
00137                      IN         Uint32 memEntries,
00138                      IN         ProcMemMapInfo *    mmuInfo) ;
00139 
00140 
00141 #if defined (__cplusplus)
00142 }
00143 #endif
00144 
00145 
00146 #endif  /* !defined (OMAP3530_HAL_PWR_H) */

Generated on Fri Jul 16 14:34:03 2010 for DSP/BIOSLink by  doxygen 1.4.4