/* * Copyright 2001-2008 Texas Instruments - http://www.ti.com/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* * ======== DSPProcessor_OEM.h ======== * DSP-BIOS Bridge driver support functions for TI OMAP processors. * 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_ */