1 /******************************************************************************
2 	TMS320C66xx KeyStone Multicore DSP Software Development Kit (SDK). Rev 2A.
3 	Definitions, macros and API functions for DSP Environment.
4 	(C) MicroLAB Systems, 2015
5 
6 
7 	http://www.mlabsys.com
8 	ftp://ftp.mlabsys.com
9 	email: techsupport@mlabsys.com
10 
11 
12 	Description:
13 	------------
14 	This file contains definitions, macros and API functions for KeyStone
15 	Multicore DSP environment and must be included in the user C-application.
16 	DSP Software Development Kit library is based on TI Chip Support Library
17 	(CSL), so it's needed to add CSL libraries into the project along with DSP
18 	Software Development Kit library.
19 
20 	Note that C66xx CorePac interrupt controller (INTC) functions are not
21 	included in this DSP Software Utilities library.
22 	It's delivered as a separate library from the remaining DSP Software
23 	Utilities. When using an embedded operating system that contains interrupt
24 	controller/dispatcher support, do not link in the INTC library.
25 	For interrupt controller support, SYS/BIOS users should use
26 	the HWI (Hardware Interrupt) and ECM (Event Combiner Manager) modules
27 	supported under SYS/BIOS v5.21 or later.
28 
29 
30 	Revision history:
31 	-----------------
32 	rev.1A		- 2014, initial release for C6678 DSP.
33 	rev.1B		- 2015, fixed minor bugs.
34 	rev.1C		- 2015:
35 						- changed C66XX_init_ddr3() DDR3 initialization
36 							function;
37 						- added DSP chip-level (CPINTC) interrupt controller
38 							functions;
39 	rev.2A		- 2015, totally redesigned DSP SDK;
40 
41 
42 	Notes:
43 	------
44 	1.	This C-header file is an include file for TI C6xxx C/C++ Code
45 		Generation Tools, which must be invoked to compile code for C66xx DSP
46 		platform.
47 
48 	2.	The following additional libraries should be included:
49 		TI Chip Support Library (CSL) (ti.csl.ae66) should be included in
50 		Linker options (this library is located at
51 		$(TI_PDK_C6678_INSTALL_DIR)\packages\ti\csl\lib).
52 
53 	3.	This file is best viewed with the TAB setting set to '4'.
54 
55 	4.	This header file is externally controlled from user C-code by run-time
56 		compiler keys definitions in order to apply DSP-type specific
57 		definitions to refer to particular definitions included for different
58 		DSP type:
59 
60 			__C66XX_SELECT_C6678_DSP__
61 				- if defined in user code prior inclusion of this header file,
62 				  then DSP-type specific definitions are applied to C6678 DSP
63 
64 	Copyright:
65 	----------
66 	This utility is supplied free of charge as it is without any obligation
67 	from MicroLAB Systems. No responsibility is assumed for any use or misuse
68 	of these utilities.
69 
70 ******************************************************************************/
71 
72 
73 /**
74  * @file  C66XX.h
75  *
76  * @brief  KeyStone Multicore DSP SDK include file
77  *
78  * This file contains definitions, macros and API functions for KeyStone
79  * Multicore DSP environment
80  *
81  */
82 
83 
84 #ifndef __C66XX_H__											// check for this file has been already included
85 #define __C66XX_H__											1
86 
87 
88 // General defs
89 #define C66XX_ON											1
90 #define C66XX_OFF											0
91 
92 
93 //=============================================================================
94 //------------ DSP-type specific run-time compiler keys processing ------------
95 // (this is required in order to exclude key confusions)
96 
97 // Default setting is C6678 definitions
98 #ifndef __C66XX_SELECT_C6678_DSP__
99 #define __C66XX_SELECT_C6678_DSP__							1
100 #endif /* __C66XX_SELECT_C6678_DSP__ */
101 
102 //=============================================================================
103 
104 
105 /** KeyStone Multicore DSP SDK revision ID */
106 #define C66XX_SDK_REVISION_ID								"2A"
107 
108 
109 // Include TI Chip Support Library (CSL) defs
110 // CSL Chip Functional Layer
111 #include <ti/csl/csl_chipAux.h>
112 // CSL TSC Functional Layer
113 #include <ti/csl/csl_tsc.h>
114 // CSL Cache Functional Layer
115 #include <ti/csl/csl_cacheAux.h>
116 // CSL Boot configuration defs
117 #include <ti/csl/csl_bootcfgAux.h>
118 // CSL Power and Sleep Controller defs
119 #include <ti/csl/csl_pscAux.h>
120 // CSL XMC Controller defs
121 #include <ti/csl/csl_xmcAux.h>
122 // CSL DDR3 defs
123 #include <ti/csl/csl_emif4f.h>
124 #include <ti/csl/csl_emif4fAux.h>
125 // CSL INTC defs
126 #include <ti/csl/src/intc/csl_intcAux.h>
127 // CSL CPINTC defs
128 #include <ti/csl/csl_cpIntcAux.h>
129 // CSL SGMII defs
130 #include <ti/csl/csl_cpsgmiiAux.h>
131 #include <ti/csl/csl_cpgmac_slAux.h>
132 // CSL GPIO Functional Layer
133 #include <ti/csl/csl_gpioAux.h>
134 // CSL Timer Functional Layer
135 #include <ti/csl/csl_tmrAux.h>
136 // CSL UART Functional Layer
137 #include <ti/csl/cslr_uart.h>
138 // CSL SRIO Functional Layer
139 #include <ti/csl/csl_srioAux.h>
140 #include <ti/csl/csl_srioAuxPhyLayer.h>
141 
142 
143 // Include C66xx DSP defs, macros and aux functions
144 #include "C66XX_DEF.hxx"
145 #include "C66XX_MACROS.hxx"
146 #include "C66XX_FUNCTIONS.hxx"
147 
148 
149 //=============================================================================
150 #endif /* __C66XX_H__ */
151