1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
33
34 /*!
35 * ======== Settings ========
36 * Global Inter-Processor Communication Configuration
37 */
38 @Template("./Settings.xdt")
39
40 metaonly module Settings {
41
42 /*!
43 * ======== ipc ========
44 * Use a specific IIpc implementation.
45 *
46 * This should only be used to explicitly configure the IPC to
47 * a package not provided with Codec Engine. To use an IPC provided
48 * by Codec Engine, it's recommended to configure the IPC and OSAL
49 * together using the {@link ti.sdo.ce.osal.Global#runtimeEnv} config
50 * param instead of this one.
51 *
52 * See {@link http://wiki.davincidsp.com/index.php?title=CE_Config_Updates
53 * for more details}
54 */
55 config IIpc.Module ipc;
56
57 /*!
58 * ======== CommType ========
59 * Supported types of communication layers that the IPC can be built on:
60 *
61 * eg DSPBIOS, DSPLINK, or posix.
62 *
63 * Now obsolete. Leave here for awhile until examples, tests are updated.
64 * @_nodoc
65 */
66 enum CommType {
67 COMM_BIOS = 0, /*! DSP/BIOS (DSP) */
68 COMM_DSPLINKBIOS = 1, /*! DSPLINK + BIOS (DSP) */
69 COMM_DSPLINK = 2, /*! DSPLINK (Arm) */
70 COMM_POSIX = 3, /*! Linux */
71 COMM_NONE = 4 /*! No OS */
72 };
73
74 /*!
75 * ======== CommType ========
76 * The type of communication layer that the IPC is built on.
77 *
78 * Now obsolete. Leave here for awhile until examples, tests are updated.
79 * @_nodoc
80 */
81 config CommType commType;
82
83 /*!
84 * ======== usesServer ========
85 * True if building a server. This will be used with osal.Global.os, in
86 * case app did not set commType, to try to figure out what commType
87 * should be set to.
88 *
89 * @_nodoc
90 */
91 config bool usesServer = false;
92
93 /*!
94 * ======== armCommMsgSize ========
95 * Default size for the Arm-DSP communication messages (MSGQ messages).
96 *
97 * Applies only to configurations where runtimeEnv == DSPLINK_LINUX or
98 * DSPLINK_BIOS.
99 *
100 * Now obsolete. Leave here for awhile until examples, tests are updated.
101 * @_nodoc
102 */
103 config UInt32 armCommMsgSize = 4 * 1024;
104
105 /*!
106 * ======== armCommNumMsgs ========
107 * Number of <commMsgSize>-sized messages used for Arm-DSP communication.
108 *
109 * Applies only to configurations where runtimeEnv == DSPLINK_LINUX
110 *
111 * Now obsolete. Leave here for awhile until examples, tests are updated.
112 * @_nodoc
113 */
114 config UInt32 armCommNumMsgs = 64;
115
116 /*!
117 * ======== commLocateRetries ========
118 * number of times to retry Comm_locate() -- to find DSP server's MSGQ --
119 * before giving up.
120 *
121 * Applies only to configurations where runtimeEnv == DSPLINK_LINUX
122 *
123 * Now obsolete. Leave here for awhile until examples, tests are updated.
124 * @_nodoc
125 */
126 config int commLocateRetries = 20;
127
128 /*!
129 * ======== useLinkArbiter ========
130 * Control flag to indicate if Codec Engine should use the Link Arbiter
131 * Daemon (LAD) to arbitrate DSPLINK APIs that need arbitration. Set to
132 * false means LAD should not be used; set to true means LAD should be
133 * used.
134 *
135 * This feature may not be available on all devices.
136 *
137 * Applies only to configurations where runtimeEnv == DSPLINK_LINUX
138 *
139 * Now obsolete. Leave here for awhile until examples, tests are updated.
140 * @_nodoc
141 */
142 config Bool useLinkArbiter = false;
143
144 /*!
145 * ======== dspConfigureMsgqAndPool ========
146 * Set to true by default, instructs this module to generate code that
147 * configures BIOS MSGQ and POOL modules: symbols MSGQ_config and
148 * POOL_config. If set to false, and if BIOS is configured to use MSGQ,
149 * user application must define these symbols.
150 *
151 * Applies only to configurations where runtimeEnv == DSPBIOS or
152 * runtimeEnv == DSPLINK_BIOS
153 *
154 * Now obsolete. Leave here for awhile until examples, tests are updated.
155 * @_nodoc
156 */
157 config bool dspConfigureMsgqAndPool = true;
158
159 /*!
160 * ======== dspUseMsgqAndPool ========
161 * If set to false, instructs Codecs Engine to cut out MSGQ and POOL
162 * references completely from the final image.
163 *
164 * Applies only to configurations where runtimeEnv == DSPBIOS.
165 *
166 * Now obsolete. Leave here for awhile until examples, tests are updated.
167 * @_nodoc
168 */
169 config bool dspUseMsgqAndPool = true;
170
171 /*!
172 * ======== dspCommNumMsgQueues ========
173 * Number of message queues (that can receive and store messages) on the
174 * DSP side. Each DSP node (task) needs one message queue.
175 *
176 * Applies only to configurations where runtimeEnv == DSPBIOS or
177 * runtimeEnv == DSPLINK_BIOS
178 *
179 * Now obsolete. Leave here for awhile until examples, tests are updated.
180 * @_nodoc
181 */
182 config UInt32 dspCommNumMsgQueues = 64;
183
184 /*!
185 * ======== dspCommUseExactMatch ========
186 * Indicates that "exact match" must be used for comm messages allocated on
187 * the DSP side.
188 *
189 * Applies only to configurations where runtimeEnv == DSPLINK_BIOS
190 *
191 * Now obsolete. Leave here for awhile until examples, tests are updated.
192 * @_nodoc
193 */
194 config Bool dspCommUseExactMatch = true;
195
196 /*!
197 * ======== dspCommMsgSize ========
198 * Default size for the inter-DSP communication messages (MSGQ messages).
199 *
200 * Applies only to configurations where runtimeEnv == DSPBIOS
201 * in special circumstances.
202 * @_nodoc
203 */
204 config UInt32 dspCommMsgSize = 1024;
205
206 /*!
207 * ======== dspCommNumMsgs ========
208 * Number of <commMsgSize>-sized messages used for Arm-DSP communication.
209 *
210 * Applies only to configurations where runtimeEnv == DSPBIOS
211 * in special circumstances.
212 * @_nodoc
213 */
214 config UInt32 dspCommNumMsgs = 64;
215
216 /*!
217 * ======== usePowerManagement ========
218 * If set to true, will attempt to include power-management code
219 * where applicable.
220 *
221 * This feature may not be available on all devices.
222 *
223 * Now obsolete. Leave here for awhile until examples, tests are updated.
224 * @_nodoc
225 */
226 config bool usePowerManagement;
227
228 /*!
229 * ======== powerSaveMemoryBlockName ========
230 * The name of the segment to which power should be saved; if left null,
231 * will default to defaultMemSegId.
232 *
233 * This feature may not be available on all devices.
234 *
235 * Now obsolete. Leave here for awhile until examples, tests are updated.
236 * @_nodoc
237 */
238 config String powerSaveMemoryBlockName = null;
239
240 config Bool debug = false;
241 }
242 243 244 245
246