1*15dc779aSAndroid Build Coastguard Worker /****************************************************************************** 2*15dc779aSAndroid Build Coastguard Worker * * 3*15dc779aSAndroid Build Coastguard Worker * Copyright (C) 2018 The Android Open Source Project 4*15dc779aSAndroid Build Coastguard Worker * 5*15dc779aSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 6*15dc779aSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 7*15dc779aSAndroid Build Coastguard Worker * You may obtain a copy of the License at: 8*15dc779aSAndroid Build Coastguard Worker * 9*15dc779aSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 10*15dc779aSAndroid Build Coastguard Worker * 11*15dc779aSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 12*15dc779aSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 13*15dc779aSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*15dc779aSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 15*15dc779aSAndroid Build Coastguard Worker * limitations under the License. 16*15dc779aSAndroid Build Coastguard Worker * 17*15dc779aSAndroid Build Coastguard Worker ***************************************************************************** 18*15dc779aSAndroid Build Coastguard Worker * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*15dc779aSAndroid Build Coastguard Worker */ 20*15dc779aSAndroid Build Coastguard Worker #ifndef IXHEAACD_MEMORY_STANDARDS_H 21*15dc779aSAndroid Build Coastguard Worker #define IXHEAACD_MEMORY_STANDARDS_H 22*15dc779aSAndroid Build Coastguard Worker 23*15dc779aSAndroid Build Coastguard Worker /*****************************************************************************/ 24*15dc779aSAndroid Build Coastguard Worker /* type definitions */ 25*15dc779aSAndroid Build Coastguard Worker /*****************************************************************************/ 26*15dc779aSAndroid Build Coastguard Worker /* standard memory table descriptor for libraries */ 27*15dc779aSAndroid Build Coastguard Worker typedef struct { 28*15dc779aSAndroid Build Coastguard Worker UWORD32 ui_size; /* size of the memory in bytes */ 29*15dc779aSAndroid Build Coastguard Worker UWORD32 ui_alignment; /* alignment in bytes */ 30*15dc779aSAndroid Build Coastguard Worker UWORD32 ui_type; /* type of memory */ 31*15dc779aSAndroid Build Coastguard Worker UWORD32 ui_placement[2]; /* 64 bit placement info */ 32*15dc779aSAndroid Build Coastguard Worker UWORD32 ui_priority; /* the importance for placement */ 33*15dc779aSAndroid Build Coastguard Worker UWORD32 ui_placed[2]; /* the o_red location for placement */ 34*15dc779aSAndroid Build Coastguard Worker } ia_mem_info_struct; 35*15dc779aSAndroid Build Coastguard Worker 36*15dc779aSAndroid Build Coastguard Worker typedef struct { 37*15dc779aSAndroid Build Coastguard Worker WORD8 *p_lib_name; 38*15dc779aSAndroid Build Coastguard Worker WORD8 *p_version_num; 39*15dc779aSAndroid Build Coastguard Worker } ia_lib_info_struct; 40*15dc779aSAndroid Build Coastguard Worker 41*15dc779aSAndroid Build Coastguard Worker VOID ixheaacd_get_lib_id_strings(pVOID pv_output); 42*15dc779aSAndroid Build Coastguard Worker 43*15dc779aSAndroid Build Coastguard Worker /*****************************************************************************/ 44*15dc779aSAndroid Build Coastguard Worker /* Constant hash defines */ 45*15dc779aSAndroid Build Coastguard Worker /*****************************************************************************/ 46*15dc779aSAndroid Build Coastguard Worker /* when you don't need alignment, pass this to memory library */ 47*15dc779aSAndroid Build Coastguard Worker #define IA_MEM_NO_ALIGN 0x01 48*15dc779aSAndroid Build Coastguard Worker 49*15dc779aSAndroid Build Coastguard Worker /* ittiam standard memory types */ 50*15dc779aSAndroid Build Coastguard Worker /* to be used inter frames */ 51*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_PERSIST 0x00 52*15dc779aSAndroid Build Coastguard Worker /* read write, to be used intra frames */ 53*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_SCRATCH 0x01 54*15dc779aSAndroid Build Coastguard Worker /* read only memory, intra frame */ 55*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_INPUT 0x02 56*15dc779aSAndroid Build Coastguard Worker /* read-write memory, for usable output, intra frame */ 57*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_OUTPUT 0x03 58*15dc779aSAndroid Build Coastguard Worker /* readonly memory, inter frame */ 59*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_TABLE 0x04 60*15dc779aSAndroid Build Coastguard Worker /* input buffer before mem tabs allocation */ 61*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_PRE_FRAME_INPUT 0x05 62*15dc779aSAndroid Build Coastguard Worker /* input buffer before mem tabs allocation */ 63*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_PRE_FRAME_SCRATCH 0x06 64*15dc779aSAndroid Build Coastguard Worker /* for local variables */ 65*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_AUTO_VAR 0x80 66*15dc779aSAndroid Build Coastguard Worker 67*15dc779aSAndroid Build Coastguard Worker /* ittiam standard memory priorities */ 68*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_ANYWHERE 0x00 69*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_LOWEST 0x01 70*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_LOW 0x02 71*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_NORM 0x03 72*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_ABOVE_NORM 0x04 73*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_HIGH 0x05 74*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_HIGHER 0x06 75*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_CRITICAL 0x07 76*15dc779aSAndroid Build Coastguard Worker 77*15dc779aSAndroid Build Coastguard Worker /* ittiam standard memory placements */ 78*15dc779aSAndroid Build Coastguard Worker /* placement is defined by 64 bits */ 79*15dc779aSAndroid Build Coastguard Worker 80*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_0 0x000001 81*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_1 0x000002 82*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_2 0x000004 83*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_3 0x000008 84*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_4 0x000010 85*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_5 0x000020 86*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_6 0x000040 87*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_7 0x000080 88*15dc779aSAndroid Build Coastguard Worker 89*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_0 0x000100 90*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_1 0x000200 91*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_2 0x000400 92*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_3 0x000800 93*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_4 0x001000 94*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_5 0x002000 95*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_6 0x004000 96*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_7 0x008000 97*15dc779aSAndroid Build Coastguard Worker 98*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_0 0x010000 99*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_1 0x020000 100*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_2 0x040000 101*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_3 0x080000 102*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_4 0x100000 103*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_5 0x200000 104*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_6 0x400000 105*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_7 0x800000 106*15dc779aSAndroid Build Coastguard Worker 107*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_DONTCARE_H 0xFFFFFFFF 108*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_DONTCARE_L 0xFFFFFFFF 109*15dc779aSAndroid Build Coastguard Worker 110*15dc779aSAndroid Build Coastguard Worker /* the simple common PC RAM */ 111*15dc779aSAndroid Build Coastguard Worker #define IA_PC_RAM_H 0x00000000 112*15dc779aSAndroid Build Coastguard Worker #define IA_PC_RAM_L IA_MEMPLACE_EXT_RAM_0 113*15dc779aSAndroid Build Coastguard Worker 114*15dc779aSAndroid Build Coastguard Worker #endif /* IXHEAACD_MEMORY_STANDARDS_H */ 115