blob: f124d8cad5500205865ddc428ec3b9d5c804b777 [file] [log] [blame]
Steve Muckle0a9c0872022-02-16 05:58:07 +00001/*******************************************************************************
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"