1 /**
2 * @file k2h/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 8u,
61 /** Maximum number of EDMA3 CCs */
62 5u,
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 K2H.
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, 23}, Cppi_CpDma_PASS_CPDMA},
95 /** CPDMA QMSS Rx channels used by Linux */
96 {Fm_res_CpdmaRxCh, { 0, 11}, Cppi_CpDma_QMSS_CPDMA},
97 /** CPDMA PA Tx channels used by Linux (first range) */
98 {Fm_res_CpdmaTxCh, { 0, 6}, Cppi_CpDma_PASS_CPDMA},
99 /** CPDMA PA Tx channels used by Linux (second range) */
100 {Fm_res_CpdmaTxCh, { 8, 8}, Cppi_CpDma_PASS_CPDMA},
101 /** CPDMA QMSS Tx channels used by Linux */
102 {Fm_res_CpdmaTxCh, { 0, 11}, Cppi_CpDma_QMSS_CPDMA},
103 /** CPDMA PA Rx flows used by Linux (first range) */
104 {Fm_res_CpdmaRxFlow, { 22, 26}, Cppi_CpDma_PASS_CPDMA},
105 /** CPDMA PA Rx flows used by Linux (second range) */
106 {Fm_res_CpdmaRxFlow, { 30, 31}, Cppi_CpDma_PASS_CPDMA},
107 /** CPDMA QMSS Rx flows used by Linux */
108 {Fm_res_CpdmaRxFlow, { 0, 11}, Cppi_CpDma_QMSS_CPDMA},
109 /** CPDMA XGE Rx channels used by Linux */
110 {Fm_res_CpdmaRxFlow, { 0, 15}, Cppi_CpDma_XGE_CPDMA},
111 /** CPDMA XGE Tx channels used by Linux */
112 {Fm_res_CpdmaRxFlow, { 0, 7}, Cppi_CpDma_XGE_CPDMA},
113 /** CPDMA XGE Rx flows used by Linux (first range) */
114 {Fm_res_CpdmaRxFlow, { 0, 0}, Cppi_CpDma_XGE_CPDMA},
115 /** CPDMA XGE Rx flows used by Linux (second range) */
116 {Fm_res_CpdmaRxFlow, { 8, 8}, Cppi_CpDma_XGE_CPDMA},
117 /** End of exclusion array */
118 {Fm_res_END}
119 };
121 /**
122 @}
123 */