| /* |
| * dspbridge/mpu_api/inc/DSPProcessor_OEM.h |
| * |
| * DSP-BIOS Bridge driver support functions for TI OMAP processors. |
| * |
| * Copyright (C) 2007 Texas Instruments, Inc. |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms of the GNU Lesser General Public License as published |
| * by the Free Software Foundation version 2.1 of the License. |
| * |
| * This program is distributed .as is. WITHOUT ANY WARRANTY of any kind, |
| * whether express or implied; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| */ |
| |
| /* |
| * ======== DSPProcessor_OEM.h ======== |
| * Description: |
| * This is the header for processor OEM fxns. |
| * |
| * Public Functions: |
| * DSPProcessor_Ctrl (OEM-function) |
| * DSPProcessor_GetTrace (OEM-function) |
| * DSPProcessor_Load (OEM-function) |
| * DSPProcessor_Start (OEM-function) |
| * |
| * Notes: |
| * |
| *! Revision History: |
| *! ================ |
| *! 23-Nov-2002 gp: Minor comment spelling correction. |
| *! 13-Feb-2001 kc: DSP/BIOS Bridge name updates. |
| *! 29-Nov-2000 rr: OEM Fxn's are seperated from DSPProcessor.h |
| */ |
| |
| #ifndef DSPPROCESSOR_OEM_ |
| #define DSPPROCESSOR_OEM_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* |
| * ======== DSPProcessor_Ctrl ======== |
| * Purpose: |
| * Pass control information to the GPP device driver managing the DSP |
| * processor. This will be an OEM-only function, and not part of the |
| * DSP/BIOS Bridge application developer's API. |
| * Parameters: |
| * hProcessor: The processor handle. |
| * dwCmd: Private driver IOCTL cmd ID. |
| * pArgs: Ptr to a driver defined argument structure. |
| * Returns: |
| * DSP_SOK: Success. |
| * DSP_EHANDLE: Invalid processor handle. |
| * DSP_ETIMEOUT: A timeout occured before the control information |
| * could be sent. |
| * DSP_ERESTART: A critical error has occured and the DSP is being |
| * restarted. |
| * DSP_EFAIL: Unable to Send the control information. |
| * Details: |
| * This function Calls the WMD_BRD_IOCTL. |
| */ |
| extern DBAPI DSPProcessor_Ctrl(DSP_HPROCESSOR hProcessor, |
| ULONG dwCmd, |
| IN OPTIONAL struct DSP_CBDATA * pArgs); |
| |
| /* |
| * ======== DSPProcessor_Load ======== |
| * Purpose: |
| * Reset a processor and load a new base program image. |
| * This will be an OEM-only function, and not part of the DSP/BIOS Bridge |
| * application developer's API. |
| * Parameters: |
| * hProcessor: The processor handle. |
| * iArgc: The number of arguments (strings) in aArgv[] |
| * aArgv: An array of arguments (ANSI Strings) |
| * aEnvp: An array of environment settings (ANSI Strings) |
| * Returns: |
| * DSP_SOK: Success. |
| * DSP_EHANDLE: Invalid processor handle. |
| * DSP_EFILE: The DSP executable was not found |
| * DSP_ECORRUTFILE: Unable to Parse the DSP Executable |
| * DSP_EINVALIDARG: iArgc should be > 0. |
| * DSP_EPOINTER: aArgv is invalid |
| * DSP_EATTACHED: Abort because a GPP Client is attached to the |
| * specified processor |
| * DSP_EFAIL: Unable to load the processor |
| * Details: |
| * Does not implement access rights to control which GPP application |
| * can load the processor. |
| */ |
| extern DBAPI DSPProcessor_Load(DSP_HPROCESSOR hProcessor, |
| IN CONST INT iArgc, |
| IN CONST CHAR ** aArgv, |
| IN CONST CHAR ** aEnvp); |
| |
| /* |
| * ======== DSPProcessor_Start ======== |
| * Purpose: |
| * Start a processor running. |
| * Processor must be in PROC_LOADED state. |
| * This will be an OEM-only function, and not part of the DSP/BIOS Bridge |
| * application developer's API. |
| * Parameters: |
| * hProcessor: The processor handle. |
| * Returns: |
| * DSP_SOK: Success. |
| * DSP_EHANDLE: Invalid processor handle. |
| * DSP_EWRONGSTATE: Processor is not in PROC_LOADED state. |
| * DSP_EACCESSDENIED: Client does not have the required access rights |
| * to start the Processor |
| * DSP_EFAIL: Unable to start the processor. |
| * Details: |
| */ |
| extern DBAPI DSPProcessor_Start(DSP_HPROCESSOR hProcessor); |
| |
| /* |
| * ======== DSPProcessor_Stop ======== |
| * Purpose: |
| * Stop a running processor. |
| * Processor must be in PROC_LOADED or PROC_RUNNIG state. |
| * This will be an OEM-only function, and not part of the DSP/BIOS Bridge |
| * application developer's API. |
| * Parameters: |
| * hProcessor: The processor handle. |
| * Returns: |
| * DSP_SOK: Success. |
| * DSP_EHANDLE: Invalid processor handle. |
| * DSP_EWRONGSTATE: Processor is not in PROC_LOADED state. |
| * DSP_EACCESSDENIED: Client does not have the required access rights |
| * to start the Processor |
| * DSP_EFAIL: Unable to start the processor. |
| * Details: |
| */ |
| extern DBAPI DSPProcessor_Stop(DSP_HPROCESSOR hProcessor); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif /* DSPPROCESSOR_OEM_ */ |