blob: bc201b329033a5356cad0245a6402e96ef33789c (
plain) (
blame)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
/*
* dbdcddef.h
*
* DSP-BIOS Bridge driver support functions for TI OMAP processors.
*
* DCD (DSP/BIOS Bridge Configuration Database) constants and types.
*
* Copyright (C) 2008 Texas Instruments, Inc.
*
* This package is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
#ifndef DBDCDDEF_
#define DBDCDDEF_
#include <dspbridge/dbdefs.h>
#include <dspbridge/mgrpriv.h> /* for mgr_processorextinfo */
/*
* The following defines are critical elements for the DCD module:
*
* - DCD_REGKEY enables DCD functions to locate registered DCD objects.
* - DCD_REGISTER_SECTION identifies the COFF section where the UUID of
* registered DCD objects are stored.
*/
#define DCD_REGKEY "Software\\TexasInstruments\\DspBridge\\DCD"
#define DCD_REGISTER_SECTION ".dcd_register"
#define DCD_MAXPATHLENGTH 255
/* DCD Manager Object */
struct dcd_manager;
struct dcd_key_elem {
struct list_head link; /* Make it linked to a list */
char name[DCD_MAXPATHLENGTH]; /* Name of a given value entry */
char *path; /* Pointer to the actual data */
};
/* DCD Node Properties */
struct dcd_nodeprops {
struct dsp_ndbprops ndb_props;
u32 msg_segid;
u32 msg_notify_type;
char *str_create_phase_fxn;
char *str_delete_phase_fxn;
char *str_execute_phase_fxn;
char *str_i_alg_name;
/* Dynamic load properties */
u16 load_type; /* Static, dynamic, overlay */
u32 data_mem_seg_mask; /* Data memory requirements */
u32 code_mem_seg_mask; /* Code memory requirements */
};
/* DCD Generic Object Type */
struct dcd_genericobj {
union dcd_obj {
struct dcd_nodeprops node_obj; /* node object. */
/* processor object. */
struct dsp_processorinfo proc_info;
/* extended proc object (private) */
struct mgr_processorextinfo ext_proc_obj;
} obj_data;
};
/* DCD Internal Callback Type */
typedef int(*dcd_registerfxn) (struct dsp_uuid *uuid_obj,
enum dsp_dcdobjtype obj_type,
void *handle);
#endif /* DBDCDDEF_ */
|