ires_vicp.h

Go to the documentation of this file.
00001 /*
00002  *  Copyright 2013 by Texas Instruments Incorporated.
00003  *
00004  */
00005 
00006 /*
00007  * Copyright (c) 2012, Texas Instruments Incorporated
00008  * All rights reserved.
00009  *
00010  * Redistribution and use in source and binary forms, with or without
00011  * modification, are permitted provided that the following conditions
00012  * are met:
00013  *
00014  * *  Redistributions of source code must retain the above copyright
00015  *    notice, this list of conditions and the following disclaimer.
00016  *
00017  * *  Redistributions in binary form must reproduce the above copyright
00018  *    notice, this list of conditions and the following disclaimer in the
00019  *    documentation and/or other materials provided with the distribution.
00020  *
00021  * *  Neither the name of Texas Instruments Incorporated nor the names of
00022  *    its contributors may be used to endorse or promote products derived
00023  *    from this software without specific prior written permission.
00024  *
00025  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00026  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00027  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00028  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00029  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00030  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00031  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00032  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00033  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00034  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00035  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00036  *
00037  */
00053 #ifndef ti_sdo_fc_ires_vicp_IRES_VICP_
00054 #define ti_sdo_fc_ires_vicp_IRES_VICP_
00055 
00058 
00059 
00060 #ifdef __cplusplus
00061 extern "C" {
00062 #endif
00063 
00064 #include <ti/xdais/ires_common.h>
00065 
00066 /*
00067  * @brief  Maximum number of VICP resources(components) to be managed
00068  */
00069 #define IRES_VICP_MAXRESOURCES  1
00070 
00074 #define IRES_VICP_PROTOCOLNAME     "ti.sdo.fc.ires.vicp"
00075 
00084 #define VICP_MODNAME  "ti.sdo.fc.ires.vicp"
00085 
00086 /*
00087  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00088  * resource managers and algs get this version data placed in their object
00089  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00090  */
00091 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00092 
00096 static IRES_ProtocolRevision IRES_VICP_PROTOCOLREVISION = {1, 0, 0};
00097 
00098 #endif
00099 
00103 typedef struct IRES_VICP_Obj *IRES_VICP_Handle;
00104 
00108 typedef struct IRES_VICP_ProtocolArgs {
00109 
00110     int size;                   
00111     IRES_RequestMode mode;      /* persistent or scratch resource requested */
00112     short requestIMX;           /* value of 1 to indicate resource requested,
00113                                    0 otherwise */
00114     short requestVLCD;
00115     short requestSEQ;
00116 
00117 } IRES_VICP_ProtocolArgs;
00118 
00124 typedef struct  IRES_VICP_Obj {
00125 
00126     IRES_Obj ires;
00127     short assignedIMX;
00128     short assignedVLCD;
00129     short assignedSEQ;
00130 
00131 } IRES_VICP_Obj;
00132 
00133 
00134 /*
00135  * @brief           VICP Register Layout
00136  */
00137 typedef struct IRES_VICP_Registers {
00138 
00139     int size;   
00141     unsigned char *vicp_umap1_base;
00142     unsigned char *vicp_cfg_base;
00143 
00144     unsigned char *imgBuf_base;
00145     unsigned char *imgBufA_base;
00146     unsigned char *imgBufB_base;
00147     unsigned char *imxCoeffBuff_base;
00148     unsigned char *imxCmdBuf_base;
00149     unsigned char *vlcdDataBuf_base;
00150     unsigned char *qiqBuf_base;
00151     unsigned char *vlcdBuf_base;
00152     unsigned char *seqProgMem_base;
00153     unsigned char *seqDataMem_base;
00154 
00155     unsigned int imgBuf_length;
00156     unsigned int imgBufA_length;
00157     unsigned int imgBufB_length;
00158     unsigned int imxCoeffBuff_length;
00159     unsigned int imxCmdBuf_length;
00160     unsigned int vlcdDataBuf_length;
00161     unsigned int qiqBuf_length;
00162     unsigned int vlcdBuf_length;
00163     unsigned int seqProgMem_length;
00164     unsigned int seqDataMem_length;
00165 
00166     /* . . . */
00167 
00168 } IRES_VICP_Registers;
00169 
00170 
00171 /*
00172  * @brief       Static Resource Properties
00173  */
00174 typedef struct IRES_VICP_Properties {
00175 
00176     int size;
00177 
00178     IRES_VICP_Registers *globalRegs;
00179 
00180 } IRES_VICP_Properties;
00181 
00182 
00183 #ifdef __cplusplus
00184 }
00185 #endif /* extern "C" */
00186 
00187 
00190 #endif
00191 /*
00192  *  @(#) ti.sdo.fc.ires.vicp; 1, 0, 1,1; 6-12-2013 19:57:48; /db/atree/library/trees/fc/fc-t09/src/ xlibrary
00193 
00194  */
00195 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Copyright 2013, Texas Instruments Incorporated