]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/performance-audio-sr.git/blob - psdk_cust/pdk_k2g_1_0_1_1_eng/packages/ti/board/diag/dcan/src/evmk2g_dcan_platform.c
Modified messaging code after code review.
[processor-sdk/performance-audio-sr.git] / psdk_cust / pdk_k2g_1_0_1_1_eng / packages / ti / board / diag / dcan / src / evmk2g_dcan_platform.c
1 /*
2  * Copyright (c) 2010-2015, 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  */
34 /**
35  * \file   evmc66x_dcan_platform.c
36  *
37  * \brief  This file contains functions which configures the DCAN module.
38  */
40 #include "platform_internal.h"
42 #if (PLATFORM_DCAN_IN)
44 /******************************************************************************
45 **                      INTERNAL FUNCTION DEFINITIONS
46 ******************************************************************************/
47 /**
48  * \brief   This function selects the DCAN pins for use. The DCAN pins
49  *          are multiplexed with pins of other peripherals in the SoC
50  *
51  * \param   instanceNum       The DCAN instance to be used.
52  *
53  * \return  TRUE/FALSE.
54  *
55  */
56 void DCANPinMuxSetUp(uint32_t instNum, uint32_t boardType)
57 {
58         /* Nothing to be done here. Pinmux taken care during platform init */
59 }
61 /**
62  * \brief   This function initializes the DCAN message RAM.
63  *
64  * \param   instanceNum       The DCAN instance to be used.
65  *
66  * \return  None.
67  *
68  */
69 void DCANMsgRAMInit(uint32_t instNum)
70 {
71         if(instNum == 0)
72         {
73                 CSL_FINS(hBootCfg->DCAN_RAMINIT,
74                                  BOOTCFG_DCAN_RAMINIT_DCAN0_RAMINIT_START,
75                                  CSL_BOOTCFG_DCAN_RAMINIT_DCAN0_RAMINIT_START_MAX);
77                 while(!CSL_FEXT(hBootCfg->DCAN_RAMINIT,
78                       BOOTCFG_DCAN_RAMINIT_DCAN0_RAMINIT_DONE));
79         }
80         else
81         {
82                 CSL_FINS(hBootCfg->DCAN_RAMINIT,
83                                  BOOTCFG_DCAN_RAMINIT_DCAN1_RAMINIT_START,
84                                  CSL_BOOTCFG_DCAN_RAMINIT_DCAN1_RAMINIT_START_MAX);
86                 while(!CSL_FEXT(hBootCfg->DCAN_RAMINIT,
87                       BOOTCFG_DCAN_RAMINIT_DCAN1_RAMINIT_DONE));
88         }
89 }
91 /**
92  * \brief   This function will enable the module clocks for DCAN.
93  *
94  * \return  None.
95  *
96  */
97 void DCANModuleClkConfig(uint32_t instNum)
98 {
99         /* Nothing to be done here. Clock config is done during platform init */
102 #endif /* #if (PLATFORM_DCAN_IN) */