/* * 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 #include /* 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_ */