device-dependent library updates for Yocto
[keystone-rtos/fault_mgmt.git] / device / k2l / src / fm_device.c
1 /**
2  *   @file  k2l/src/fm_device.c
3  *
4  *   @brief   
5  *      This file contains the device specific configuration and initialization routines
6  *      for Fault Management Module.
7  *
8  *  \par
9  *  ============================================================================
10  *  @n   (C) Copyright 2011-2014, Texas Instruments, Inc.
11  * 
12  *  Redistribution and use in source and binary forms, with or without 
13  *  modification, are permitted provided that the following conditions 
14  *  are met:
15  *
16  *    Redistributions of source code must retain the above copyright 
17  *    notice, this list of conditions and the following disclaimer.
18  *
19  *    Redistributions in binary form must reproduce the above copyright
20  *    notice, this list of conditions and the following disclaimer in the 
21  *    documentation and/or other materials provided with the   
22  *    distribution.
23  *
24  *    Neither the name of Texas Instruments Incorporated nor the names of
25  *    its contributors may be used to endorse or promote products derived
26  *    from this software without specific prior written permission.
27  *
28  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
29  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
30  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
31  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
32  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
33  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
34  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
35  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
36  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
37  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
38  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39  *
40  *  \par
41 */
43 /* CSL include */
44 #include <ti/csl/cslr_device.h>
46 /* LLD includes */
47 #include <ti/drv/cppi/cppi_drv.h>
49 /* Fault Management Include File */
50 #include <ti/instrumentation/fault_mgmt/fault_mgmt.h>
52 /** @addtogroup FAULT_MGMT_DATA_STRUCTURE
53 @{ 
54 */
56 /** @brief FM Module initialization parameters */
57 Fm_GlobalConfigParams fmGblCfgParams =
58 {
59     /** Number of cores on device to notify on exception */
60     0u,
61     /** Maximum number of EDMA3 CCs */
62     3u,
63     /** Maximum number of AIF PE channels */
64     128u,
65     /** Maximum number of AIF PD channels */
66     128u,
68     /* Below only valid for the fault cleanup feature which is not available for K2L.
69      * Therefore, set remaining values to 0 */
71     /** Maximum number of QMSS Accumulator channels */
72     0u,
73     /** High priority accumulator channels */
74     { 0u, 0u},
75     /** Low priority accumulator channels */
76     { 0u, 0u},
77     /** Maximum number of PA PDSPs */
78     0u,
79     /** Maximum number of LUT1 entries */
80     0u,
81     /** Maximum number of CICs */
82     0u,
83     /** Pointer to CIC params */
84     NULL,
85     /** Maximum number of Timers */
86     0u,
87     /** Pointer to Timer params */
88     NULL,
89 };
91 /** @brief FM Resource exclusion list containing resources used by Linux*/
92 Fm_ExcludedResource linuxResources[] = {
93     /** CPDMA PA Rx channels used by Linux */
94     {Fm_res_CpdmaRxCh,     {    0,   90}, Cppi_CpDma_NETCP_CPDMA},
95     /** CPDMA QMSS Rx channels used by Linux */        
96     {Fm_res_CpdmaRxCh,     {    0,    7}, Cppi_CpDma_QMSS_CPDMA},
97     /** CPDMA PA Tx channels used by Linux (first range) */
98     {Fm_res_CpdmaTxCh,     {    0,   18}, Cppi_CpDma_NETCP_CPDMA},
99     /** CPDMA PA Tx channels used by Linux (second range) */        
100     {Fm_res_CpdmaTxCh,     {   20,   20}, Cppi_CpDma_NETCP_CPDMA},
101     /** CPDMA QMSS Tx channels used by Linux */
102     {Fm_res_CpdmaTxCh,     {    0,    7}, Cppi_CpDma_QMSS_CPDMA},
103     /** CPDMA PA Rx flows used by Linux (first range) */
104     {Fm_res_CpdmaRxFlow,   {    0,    0}, Cppi_CpDma_NETCP_CPDMA},
105     /** CPDMA PA Rx flows used by Linux (second range) */
106     {Fm_res_CpdmaRxFlow,   {    8,    8}, Cppi_CpDma_NETCP_CPDMA},
107     /** CPDMA PA Rx flows used by Linux (third range) */
108     {Fm_res_CpdmaRxFlow,   {   31,   31}, Cppi_CpDma_NETCP_CPDMA},        
109     /** CPDMA QMSS Rx flows used by Linux */
110     {Fm_res_CpdmaRxFlow,   {    0,    7}, Cppi_CpDma_QMSS_CPDMA},        
111     /** End of exclusion array */
112     {Fm_res_END}
113 };
115 /**
116 @}
117 */