1 /******************************************************************************* 2 * Copyright (C) 2018 Cadence Design Systems, Inc. 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining 5 * a copy of this software and associated documentation files (the 6 * "Software"), to use this Software with Cadence processor cores only and 7 * not with any other processors and platforms, subject to 8 * the following conditions: 9 * 10 * The above copyright notice and this permission notice shall be included 11 * in all copies or substantial portions of the Software. 12 * 13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 14 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 15 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 16 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 17 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 18 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 19 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20 21 ******************************************************************************/ 22 23 /******************************************************************************* 24 * xf.h 25 * 26 * Xtensa audio processing framework. Main header 27 * 28 ******************************************************************************/ 29 30 #ifdef __XF_H 31 #error "xf.h included more than once" 32 #endif 33 34 #define __XF_H 35 36 /******************************************************************************* 37 * Global configuration parameters (changing is to be done carefully) 38 ******************************************************************************/ 39 40 /* ...allocate 6 bits for client number per core */ 41 #define XF_CFG_MAX_CLIENTS (1 << 6) 42 43 /* ...allocate 2 bits for core id */ 44 #define XF_CFG_MAX_CORES (1 << 2) 45 46 /* ...allocate 4 bits for maximal number of input/output ports per component */ 47 #define XF_CFG_MAX_PORTS (1 << 4) 48 49 /* ...allocate 6 bits for opcode type */ 50 #define XF_CFG_MAX_CODES (1 << 6) 51 52 /******************************************************************************* 53 * Common runtime framework 54 ******************************************************************************/ 55 #ifndef XAF_ENABLE_NON_HIKEY 56 #include "cpu_c.h" 57 58 #include "dsp_driver_ipc.h" 59 60 #include "dsp_debug.h" 61 62 #include "dsp_memory_config.h" 63 64 #include "dsp_driver_mailbox.h" 65 66 #include "dsp_pcm_gain.h" 67 68 #endif 69 /* ...target configuration */ 70 #include "xf-config.h" 71 72 /* ...platform run-time */ 73 #include "xf-runtime.h" 74 75 /* ...debugging facility */ 76 #include "xf-debug.h" 77 78 /* ...generic memory allocator */ 79 #include "xf-mm.h" 80 81 /* ...standard opcodes */ 82 #include "xf-opcode.h" 83 84 /* ...proxy definitions (shared messages - tbd) */ 85 #include "xf-proxy.h" 86 87 /* ...message API */ 88 #include "xf-msg.h" 89 90 /* ...tracer data */ 91 #include "xf-trace.h" 92 93 /* ...I/O ports */ 94 #include "xf-io.h" 95 96 /* ...scheduler definition */ 97 #include "xf-sched.h" 98 99 /* ...component definition */ 100 #include "xf-component.h" 101 102 /* ...core data */ 103 #include "xf-core.h" 104 105 /* ...system abstractions */ 106 #include "xf-sys.h" 107 108 /* ...memory management */ 109 #include "xf-mem.h" 110 111 /* ...common timebase */ 112 #include "xf-timebase.h" 113