diff options
author | Omar Ramirez Luna <omar.ramirez@ti.com> | 2010-06-23 16:12:23 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-06-23 15:39:08 -0700 |
commit | 6280238c13e16a105fe658e1b6e68380cbc9f055 (patch) | |
tree | 199b6ab9d09fc4a02fa19eb0b89681ad58967e51 /drivers/staging/tidspbridge/include/dspbridge/rms_sh.h | |
parent | 26f8db7d2e20218272cbf889edfdb8328b4cd9c3 (diff) |
staging: ti dspbridge: add header files
Add TI's DSP Bridge driver header files
Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Signed-off-by: Kanigeri, Hari <h-kanigeri2@ti.com>
Signed-off-by: Ameya Palande <ameya.palande@nokia.com>
Signed-off-by: Guzman Lugo, Fernando <fernando.lugo@ti.com>
Signed-off-by: Hebbar, Shivananda <x0hebbar@ti.com>
Signed-off-by: Ramos Falcon, Ernesto <ernesto@ti.com>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Anna, Suman <s-anna@ti.com>
Signed-off-by: Gupta, Ramesh <grgupta@ti.com>
Signed-off-by: Gomez Castellanos, Ivan <ivan.gomez@ti.com>
Signed-off-by: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>
Signed-off-by: Armando Uribe De Leon <x0095078@ti.com>
Signed-off-by: Deepak Chitriki <deepak.chitriki@ti.com>
Signed-off-by: Menon, Nishanth <nm@ti.com>
Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/tidspbridge/include/dspbridge/rms_sh.h')
-rw-r--r-- | drivers/staging/tidspbridge/include/dspbridge/rms_sh.h | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/drivers/staging/tidspbridge/include/dspbridge/rms_sh.h b/drivers/staging/tidspbridge/include/dspbridge/rms_sh.h new file mode 100644 index 000000000000..7bc5574342aa --- /dev/null +++ b/drivers/staging/tidspbridge/include/dspbridge/rms_sh.h @@ -0,0 +1,95 @@ +/* + * rms_sh.h + * + * DSP-BIOS Bridge driver support functions for TI OMAP processors. + * + * DSP/BIOS Bridge Resource Manager Server shared definitions (used on both + * GPP and DSP sides). + * + * 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 RMS_SH_ +#define RMS_SH_ + +#include <dspbridge/rmstypes.h> + +/* Node Types: */ +#define RMS_TASK 1 /* Task node */ +#define RMS_DAIS 2 /* xDAIS socket node */ +#define RMS_MSG 3 /* Message node */ + +/* Memory Types: */ +#define RMS_CODE 0 /* Program space */ +#define RMS_DATA 1 /* Data space */ +#define RMS_IO 2 /* I/O space */ + +/* RM Server Command and Response Buffer Sizes: */ +#define RMS_COMMANDBUFSIZE 256 /* Size of command buffer */ +#define RMS_RESPONSEBUFSIZE 16 /* Size of response buffer */ + +/* Pre-Defined Command/Response Codes: */ +#define RMS_EXIT 0x80000000 /* GPP->Node: shutdown */ +#define RMS_EXITACK 0x40000000 /* Node->GPP: ack shutdown */ +#define RMS_BUFDESC 0x20000000 /* Arg1 SM buf, Arg2 SM size */ +#define RMS_KILLTASK 0x10000000 /* GPP->Node: Kill Task */ +#define RMS_USER 0x0 /* Start of user-defined msg codes */ +#define RMS_MAXUSERCODES 0xfff /* Maximum user defined C/R Codes */ + +/* RM Server RPC Command Structure: */ +struct rms_command { + rms_word fxn; /* Server function address */ + rms_word arg1; /* First argument */ + rms_word arg2; /* Second argument */ + rms_word data; /* Function-specific data array */ +}; + +/* + * The rms_strm_def structure defines the parameters for both input and output + * streams, and is passed to a node's create function. + */ +struct rms_strm_def { + rms_word bufsize; /* Buffer size (in DSP words) */ + rms_word nbufs; /* Max number of bufs in stream */ + rms_word segid; /* Segment to allocate buffers */ + rms_word align; /* Alignment for allocated buffers */ + rms_word timeout; /* Timeout (msec) for blocking calls */ + char name[1]; /* Device Name (terminated by '\0') */ +}; + +/* Message node create args structure: */ +struct rms_msg_args { + rms_word max_msgs; /* Max # simultaneous msgs to node */ + rms_word segid; /* Mem segment for NODE_allocMsgBuf */ + rms_word notify_type; /* Type of message notification */ + rms_word arg_length; /* Length (in DSP chars) of arg data */ + rms_word arg_data; /* Arg data for node */ +}; + +/* Partial task create args structure */ +struct rms_more_task_args { + rms_word priority; /* Task's runtime priority level */ + rms_word stack_size; /* Task's stack size */ + rms_word sysstack_size; /* Task's system stack size (55x) */ + rms_word stack_seg; /* Memory segment for task's stack */ + rms_word heap_addr; /* base address of the node memory heap in + * external memory (DSP virtual address) */ + rms_word heap_size; /* size in MAUs of the node memory heap in + * external memory */ + rms_word misc; /* Misc field. Not used for 'normal' + * task nodes; for xDAIS socket nodes + * specifies the IALG_Fxn pointer. + */ + /* # input STRM definition structures */ + rms_word num_input_streams; +}; + +#endif /* RMS_SH_ */ |