1    /* 
     2     * Copyright (c) 2010, Texas Instruments Incorporated
     3     * All rights reserved.
     4     *
     5     * Redistribution and use in source and binary forms, with or without
     6     * modification, are permitted provided that the following conditions
     7     * are met:
     8     *
     9     * *  Redistributions of source code must retain the above copyright
    10     *    notice, this list of conditions and the following disclaimer.
    11     *
    12     * *  Redistributions in binary form must reproduce the above copyright
    13     *    notice, this list of conditions and the following disclaimer in the
    14     *    documentation and/or other materials provided with the distribution.
    15     *
    16     * *  Neither the name of Texas Instruments Incorporated nor the names of
    17     *    its contributors may be used to endorse or promote products derived
    18     *    from this software without specific prior written permission.
    19     *
    20     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    21     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    22     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    23     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    24     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    25     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    26     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
    27     * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    28     * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
    29     * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
    30     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    31     * 
    32     */
    33    
    34    /*!
    35     *  ======== Settings ========
    36     *  Dsplink ipc Settings.
    37     */
    38    @Template("./Ipc.xdt")
    39    
    40    metaonly module Ipc inherits ti.sdo.ce.ipc.IIpc {
    41    
    42        /*!
    43         *  ======== maxTimeout ========
    44         *  Maximum timeout allowed.
    45         *
    46         *  Users can specify a value here to indicate a 'cap' on the time
    47         *  which the IPC APIs in this package will wait before timing out.
    48         *  If the 'maxTimeout' value is encountered in a running system, it
    49         *  is treated as a system error.  Resources will be unlocked (e.g.
    50         *  MSGQ_pend() will return, releasing any DSP Link resources), and
    51         *  the thread that exceeded its maxTimeout will spin forever, never
    52         *  returning.  It will need to be deleted by another "monitor process".
    53         *
    54         *  This can be used in a system to detect if a remote processor has
    55         *  become unresponsive.
    56         *
    57         *  The default is 0xffffffff, which indicates that there is no cap and
    58         *  the underyling APIs can wait forever if so instructed.
    59         */
    60        config UInt32 maxTimeout = 0xffffffff;
    61    
    62        /*!
    63         *  ======== dspLinkCfg ========
    64         *  Use a specific DspLink configuration. This parameter does not need
    65         *  to be set if using the DspLinkCfg provided with Codec Engine.
    66         *  This parameter provides a default memory map and power control
    67         *  settings for supported platforms.
    68         */
    69        config IDspLinkCfg.Module dspLinkCfg;
    70    
    71        /*!
    72         *  ======== armCommMsgSize ========
    73         *  Default size for the Arm-DSP communication messages (MSGQ messages).
    74         */
    75        config UInt32 armCommMsgSize = 4 * 1024;
    76    
    77        /*!
    78         *  ======== armCommNumMsgs ========
    79         *  Number of <commMsgSize>-sized messages used for Arm-DSP communication.
    80         */
    81        config UInt32 armCommNumMsgs = 64;
    82    
    83        /*!
    84         *  ======== commLocateRetries ========
    85         *  number of times to retry Comm_locate() -- to find DSP server's MSGQ --
    86         *  before giving up.
    87         */
    88        config int commLocateRetries = 20;
    89    
    90        /*!
    91         *  ======== useLinkArbiter ========
    92         *  Control flag to indicate if Codec Engine should use the Link Arbiter
    93         *  Daemon (LAD) to arbitrate DSPLINK APIs that need arbitration.  Set to
    94         *  false means LAD should not be used; set to true means LAD should be
    95         *  used.
    96         *
    97         *  This feature may not be available on all devices.
    98         */
    99        config Bool useLinkArbiter = false;
   100    
   101        /*!
   102         *  ======== usePowerManagement ========
   103         *  If set to true, will attempt to include power-management code
   104         *  where applicable. If left undefined, an appropriate default value
   105         *  will be assigned based on the device type.
   106         *
   107         *  This feature may not be available on all devices.
   108         */
   109        config bool usePowerManagement;
   110    
   111    
   112        /*!
   113         *  ======== debug ========
   114         *  Enable the debug profile of the dsplink ipc module.
   115         */
   116        config Bool debug = false;
   117    }
   118    /*
   119     *  @(#) ti.sdo.ce.ipc.dsplink; 2, 0, 1,179; 9-20-2010 16:41:36; /db/atree/library/trees/ce/ce-r09x/src/ xlibrary
   120    
   121     */
   122