metaonly module ti.sdo.ce.ipc.dsplink.Ipc

Dsplink ipc Settings

XDCspec summary sourced in ti/sdo/ce/ipc/dsplink/Ipc.xdc
metaonly module Ipc {  ...
// inherits ti.sdo.ce.ipc.IIpc
XDCscript usage meta-domain
var Ipc = xdc.useModule('ti.sdo.ce.ipc.dsplink.Ipc');
module-wide constants & types
        const Ipc.BootAndLoadDsp;
        const Ipc.BootDspAutonomously;
        const Ipc.None;
 
        obj.memTable = IIpc.ArmDspLinkConfigMemTableEntry[string]  ...
        obj.doPowerControl = Bool  ...
        obj.dspManagement = IIpc.DspManagement  ...
 
        obj.addr = UInt32  ...
        obj.gppAddr = UInt32  ...
        obj.size = UInt32  ...
        obj.type = String  ...
module-wide config parameters
    Ipc.maxTimeout// Maximum timeout allowed = UInt32 0xffffffff;
 
XDCspec declarations sourced in ti/sdo/ce/ipc/dsplink/Ipc.xdc
 
metaonly module Ipc inherits IIpc {
module-wide constants & types
        BootAndLoadDsp,
        BootDspAutonomously,
        None
    };
 
        IIpc.ArmDspLinkConfigMemTableEntry memTable[string];
        Bool doPowerControl;
        IIpc.DspManagement dspManagement;
    };
 
        UInt32 addr;
        UInt32 gppAddr;
        UInt32 size;
        String type;
    };
module-wide config parameters
    config UInt32 maxTimeout// Maximum timeout allowed = 0xffffffff;
}
 
enum Ipc.DspManagement

Value for controlling DSP from ARM w/ DspLink

XDCscript usage meta-domain
values of type Ipc.DspManagement
    const Ipc.BootAndLoadDsp;
    const Ipc.BootDspAutonomously;
    const Ipc.None;
 
VALUES
BootAndLoadDsp — DspLink boots DSP and loads executable
BootDspAutonomously — DspLink boots DSP w/o loading executable
None — DspLink neither boots DSP nor loads executable
 
struct Ipc.ArmDspLinkConfig

Configuration for the DspLink on the Arm side

XDCscript usage meta-domain
var obj = new Ipc.ArmDspLinkConfig;
 
    obj.memTable = IIpc.ArmDspLinkConfigMemTableEntry[string]  ...
    obj.doPowerControl = Bool  ...
    obj.dspManagement = IIpc.DspManagement  ...
 
FIELDS
memTable — Memory table, describing all DSP segments. NOTE: segments "DDR2" (or whatever is the name of the main segment), "DSPLINKMEM", and "RESETCTRL" must be present
doPowerControl — Flag indicating if Link should implement power control of DSP.
dspManagement — Flag indicating how Link should boot/load DSP
DETAILS
Of the many fields that Link exposes for configuration, selected ones are exposed through this interface.
 
struct Ipc.ArmDspLinkConfigMemTableEntry

Description of one DSP memory segment entry

XDCscript usage meta-domain
var obj = new Ipc.ArmDspLinkConfigMemTableEntry;
 
    obj.addr = UInt32  ...
    obj.gppAddr = UInt32  ...
    obj.size = UInt32  ...
    obj.type = String  ...
 
FIELDS
addr — The beginning address of the segment
gppAddr — The GPP physical address of the segment (when needed)
size — Size of the segment in bytes
type — One of the following types: "main" -- main code/data segment (i.e. DDR2) "link" -- DSPLINKMEM segment "reset" -- RESETCTRL segment "poolmem" -- POOLMEM segment "code" -- dsp code/data, must map into GPP space "other" -- anything else
 
config Ipc.armCommMsgSize  // module-wide

Default size for the Arm-DSP communication messages (MSGQ messages)

XDCscript usage meta-domain
Ipc.armCommMsgSize = UInt32 4 * 1024;
 
 
config Ipc.armCommNumMsgs  // module-wide

Number of <commMsgSize>-sized messages used for Arm-DSP communication

XDCscript usage meta-domain
Ipc.armCommNumMsgs = UInt32 64;
 
 
config Ipc.commLocateRetries  // module-wide

number of times to retry Comm_locate() -- to find DSP server's MSGQ -- before giving up

XDCscript usage meta-domain
Ipc.commLocateRetries = Int 20;
 
 
config Ipc.debug  // module-wide

Enable the debug profile of the dsplink ipc module

XDCscript usage meta-domain
Ipc.debug = Bool false;
 
 
config Ipc.dspLinkCfg  // module-wide

Use a specific DspLink configuration. This parameter does not need to be set if using the DspLinkCfg provided with Codec Engine. This parameter provides a default memory map and power control settings for supported platforms

XDCscript usage meta-domain
Ipc.dspLinkCfg = IDspLinkCfg.Module undefined;
 
 
config Ipc.maxTimeout  // module-wide

Maximum timeout allowed

XDCscript usage meta-domain
Ipc.maxTimeout = UInt32 0xffffffff;
 
DETAILS
Users can specify a value here to indicate a 'cap' on the time which the IPC APIs in this package will wait before timing out. If the 'maxTimeout' value is encountered in a running system, it is treated as a system error. Resources will be unlocked (e.g. MSGQ_pend() will return, releasing any DSP Link resources), and the thread that exceeded its maxTimeout will spin forever, never returning. It will need to be deleted by another "monitor process".
This can be used in a system to detect if a remote processor has become unresponsive.
The default is 0xffffffff, which indicates that there is no cap and the underyling APIs can wait forever if so instructed.
 
config Ipc.useLinkArbiter  // module-wide

Control flag to indicate if Codec Engine should use the Link Arbiter Daemon (LAD) to arbitrate DSPLINK APIs that need arbitration. Set to false means LAD should not be used; set to true means LAD should be used

XDCscript usage meta-domain
Ipc.useLinkArbiter = Bool false;
 
DETAILS
This feature may not be available on all devices.
 
config Ipc.usePowerManagement  // module-wide

If set to true, will attempt to include power-management code where applicable. If left undefined, an appropriate default value will be assigned based on the device type

XDCscript usage meta-domain
Ipc.usePowerManagement = Bool undefined;
 
DETAILS
This feature may not be available on all devices.
generated on Mon, 20 Sep 2010 23:50:20 GMT