Misra C Fixes:
[keystone-rtos/edma3_lld.git] / release_notes_edma3_lld.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html xmlns="http://www.w3.org/TR/REC-html40">
3 <head>
4   <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
5   <meta http-equiv="Content-Type" content="text/html">
6   <title>EDMA3 LLD 02.11.14 Release Notes</title>
7   <style type="text/css">
8 body
9 {
10     color: #000 ;
11     background-color: #fff ;
12     margin : 5px 20px 5px 20px;
13     font-family: Tahoma, Arial, Helvetica, sans-serif;
14     font-size: 10pt ;
15 }
17 a,
18 a:link,
19 a:visited,
21 {
22     color : #1a41a8 ;
23 }
25 a:hover
26 {
27     color : #2a3798 ;
28 }
30 img
31 {
32     text-decoration : none ;
33 }
35 p
36 {
37     color: #000 ;
38 }
40 table.tagline
41 {
42     width: 100%;
43 }
45 li
46 {
47     color : black ;
48 }
50 .title
51 {
52     text-align : center ;
53 }
55 th
56 {
57     text-align : left ;
58 }
59   </style>
60 </head>
61 <body>
62 <table border="0" cellpadding="0" cellspacing="0" width="100%">
63   <tbody>
64     <tr>
65       <td
66  style="background: black none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"
67  width="222"> <a href="http://www.ti.com/"><img id="_x0000_i1025"
68  src="docs/html/tilogo.gif" alt="Texas Instruments" border="0"
69  height="54" width="222"> </a></td>
70       <td
71  style="background: red none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;">
72       <img id="_x0000_i1026" src="docs/html/titagline.gif"
73  alt="Technology for Innovators(tm)" border="0" height="26" width="314">
74       </td>
75     </tr>
76   </tbody>
77 </table>
78 <h1 class="title">EDMA3 LLD 02.11.14 Release Notes</h1>
79 <h2 class="title">August 25, 2014</h2>
80 <p>
81 This EDMA3 Low Level Driver Release is targeted to the users (device
82 drivers
83 and applications) for submitting and synchronizing with EDMA3 based DMA
84 transfers.
85 This release supports DA830,C6748,TCI6498,TI816X,C6472,TCI6486,TI814X,TI816X,TI811X,TCI6608,TCI6616,TCI6614,C6670,C6678,TCI6638K2K,TDA2xx,TDA3xx, DRA72x, platforms, on
86 SYS/BIOS 6 side &amp; OMAPL138 on SYS/BIOS and ARM side. Porting
87 instructions
88 are also provided to use the package for different platforms and
89 Operating
90 Systems.
91 </p>
92 <p>
93 <a href="#Introduction">Introduction</a>,
94 <a href="#Documentation">Documentation</a>,
95 <a href="#Whats_New">What's New</a>,
96 <a href="#Upgrade_Info">Upgrade Info</a>,
97 <a href="#Device_Support">Device Support</a>,
98 <a href="#Compatibility">Compatibility Information</a>,
99 <a href="#Validation">Validation Info</a>,
100 <a href="#Known_Issues">Known Issues</a>,
101 <a href="#Examples">Examples</a>,
102 <a href="#Version">Version Information</a>,
103 <a href="#Support">Technical Support</a>
104 </p>
105 <hr>
106 <a name="Introduction"></a>
107 <h2><a name="Introduction">Introduction</a></h2>
108 <p>
109 EDMA3 LLD is a single product package containing the following
110 stand-alone
111 software components:
112 </p>
113 <ul type="disc">
114   <a name="Introduction"> <li> <b>EDMA3 Resource Manager</b> - TI
115 mandated library for all EDMA3 peripheral users to acquire and
116 configure EDMA3 hardware resources (DMA/QDMA channels, PaRAM Sets, TCCs
117 etc.) and DMA Interrupt Service Routines. </li>
118   <li> <b>EDMA3 Driver</b> - Functional library providing APIs for
119 programming, scheduling and synchronizing with EDMA transfers and many
120 more. </li>
121   </a>
122 </ul>
123 <p>
124 EDMA3 Resource Manager can be used independently whereas the EDMA3
125 Driver requires
126 the Resource Manager services internally.
127 </p>
128 <p>
129 EDMA3 LLD (both Resource Manager and the Driver) is a platform
130 independent package.
131 Hence it can be used across multiple platforms. Porting instructions
132 are provided for both the components to do the same.
133 </p>
134 <p>
135 It is also an OS-agnostic package and thus can be used across multiple
136 operating
137 systems. OS-adaptation layer needs to be provided by the user (in case
138 it is needed)
139 for OS customization. Instructions to do the same are also provided
140 along with
141 the package.
142 </p>
143 <p>
144 The Low Level Driver has already been ported (SYS/BIOS Operating
145 Systems)
146 and tested on various platforms mentioned below. Sample initialization
147 libraries,
148 which configure the EDMA3 hardware and provide the necessary OS
149 abstraction layer,
150 are also a part of the package. These libraries are available both for
151 the EDMA3
152 Resource Manager and EDMA3 Driver. These could be used for proper
153 initialization of the software component(s) along with the OS
154 adaptation layer
155 for the same.
156 </p>
157 <p>
158 The Low Level Driver consists of the following packages:
159 </p>
160 <ul type="disc">
161   <a name="Introduction"> <li> <tt><b>ti.sdo.edma3.rm</b></tt> -
162 EDMA3 Resource Manager. </li>
163   <li> <tt><b>ti.sdo.edma3.rm.sample</b></tt> - Sample initialization
164 library / OS abstraction layer for the Resource Manager. </li>
165   <li> <tt><b>ti.sdo.edma3.drv</b></tt> - EDMA3 Driver. </li>
166   <li> <tt><b>ti.sdo.edma3.drv.sample</b></tt> - Sample initialization
167 library / OS abstraction layer for the Driver. </li>
168   </a>
169 </ul>
170 <p><b>Note: </b>
171 <ul type="disc">
172   <a name="Introduction"> <li> <b>Address translation is not done in EDMA3 LLD</b> </li>
173 <br>If the memory map of the EDMA is different than the host processor programming it,
174 EDMA3LLD being a low level driver the address translation is not done by this. It is expected that the application
175 will provide the addresses, corresponding to EDMA memory map to configure in PARAM.
176 </p>
177 </a>
178   <a name="Introduction"> <li> <FONT COLOR ='RED'><b>All resources are allocated to all cores in default sample configuration files of EDMA3 LLD</b> </FONT></li>
179 <br>The EDMA resources like Channels, PaRAMs and TCCs which are shared by multiple cores (Ex: in TI814X and TI816X), 
180 The default configuration file allocates all the resources to every core since the resource split is application dependant. 
181 The applications using EDMA3LLD should appropriately allocate the resources in the config files and build EDMA3LLD libraries.
182 </p>
183 </a>
184   <a name="Introduction"> <li> <b>Building EDMA3LLD libs and examples on windows 7</b> </li>
185 <br>On windows 7 there is a permission issue while building the libs and examples.set the environment variable CYGWIN in the command window where you are building <br> examples:       $set CYGWIN=nontsec <br>You might have to manually delete the generated files before building.
186 </p>
187 </a>
188 </ul>
189 <a name="Documentation">
190 </a>
191 <h2><a name="Documentation">Documentation</a></h2>
192 <p>The following documentation is available:
193 </p>
194 <ul type="disc">
195   <li><a href="docs/EDMA3_RM_Release_Notes.pdf">EDMA3 Resource Manager
196 Release Notes</a></li>
197   <li> <a href="packages/ti/sdo/edma3/rm/docs/EDMA3_RM_User_Guide.pdf">EDMA3
198 Resource Manager User's Guide</a> </li>
199   <li> <a href="docs/EDMA3_Driver_Release_Notes.pdf">EDMA3 Driver
200 Release Notes</a> </li>
201   <li> <a
202  href="packages/ti/sdo/edma3/drv/docs/EDMA3_Driver_User_Guide.pdf">EDMA3
203 Driver User's Guide</a> </li>
204   <li> EDMA3 Resource Manager Application Programming Interface (API)
205 Reference Guide (<a href="packages/ti/sdo/edma3/rm/docs/html/index.html">HTML</a>
206 | <a href="packages/ti/sdo/edma3/rm/docs/EDMA3_Resource_Manager.chm">CHM</a>)
207   </li>
208   <li> EDMA3 Driver Application Programming Interface Reference Guide (<a
209  href="packages/ti/sdo/edma3/drv/docs/html/index.html">HTML</a> | <a
210  href="packages/ti/sdo/edma3/drv/docs/EDMA3_Driver.chm">CHM</a>) </li>
211   <li> <a href="examples/CSL2_DAT_DEMO/docs/CSL_DAT_Adapter.ppt">CSL
212 2.x DAT Reference Implementation on EDMA3 Hardware using EDMA3 LLD</a> </li>
213 </ul>
214 <hr>
215 <a name="Whats_New"></a>
216 <h2><a name="Whats_New">What's New</a></h2>
218 <p>
219 <a name="Whats_New">The following significant changes have been made since 02.11.12:
220 </a></p>
222 <p><a name="Whats_New">02.11.14 - This release
223 </a></p>
225 <p>
226 <a name="Whats_New">The following IRs are implemented:
227 </a></p>
229 <table width="100%">
230   <tbody>
231     <tr>
232       <th>ID</th>
233       <th>Headline</th>
234     </tr>
235     <tr>
236       <td width="200">SDOCM00112718</td>
237       <td>Added tda3xx and dra72x which were missing in package.xs file of RM</td>
238     </tr>
239   </tbody>
240 </table>
242 <br>
243 <hr><a name="Upgrade_Info"></a>
244 <h2><a name="Upgrade_Info">Upgrade Information</a></h2>
245 <p>
246 The EDMA3 LLD packages are available in the "packages/" subdirectory of
247 the product.
248 If you have a previous release of the EDMA3 LLD product, you can
249 install this
250 release next to it, and modify your application and/or server builds to
251 use this
252 newer release.
253 </p>
254 <hr>
255 <a name="Device_Support"></a>
256 <h2><a name="Device_Support">Device Support</a></h2>
257 <p>
258 This release supports and has been tested on the following devices:
259 </p>
260 <ul>
261   <a name="Device_Support"> <li>DA830 EVM:
262     <ul type="circle">
263       <li>C67x SYS/BIOS</li>
264     </ul>
265   </li>
266   <li>TCI6498 Simulator:</li>
267   </a>
268   <ul>
269     <li>C64X+ SYS/BIOS</li>
270   </ul>
271   <li>C6748 EVM:</li>
272   <li style="margin-left: 40px;" type="circle">C67x SYS/BIOS</li>
273   <li type="disc">OMAPL138 EVM:</li>
274   <li style="margin-left: 40px;" type="circle">C67x SYS/BIOS</li>
275   <li style="margin-left: 40px;" type="circle">ARM 9 SYSBIOS</li>
276     <li>TI816X EVM:</li>
277   </a>
278   <ul>
279     <li>C67X SYS/BIOS</li>
280         <li>A8 SYS/BIOS</li>
281     <li>M3 SYS/BIOS</li>
282   </ul>
283   <li>C6472 EVM:</li>
284   </a>
285   <ul>
286     <li>C64X+ SYS/BIOS</li>
287   </ul>
288     <li>TCI6486 EVM:</li>
289   </a>
290   <ul>
291     <li>C64X+ SYS/BIOS</li>
292   </ul>
293       <li>TI814X EVM:</li>
294   </a>
295   <ul>
296     <li>C67X SYS/BIOS</li>
297         <li>A8 SYS/BIOS</li>
298         <li>M3 SYS/BIOS</li>
299   </ul>
300     <li>TI811X EVM:</li>
301   </a>
302   <ul>
303     <li>C67X SYS/BIOS</li>
304         <li>A8 SYS/BIOS</li>
305     <li>M3 SYS/BIOS</li>
306   </ul>
307       <li>C6670 EVM:</li>
308   </a>
309   <ul>
310     <li>C66X SYS/BIOS</li>
311   </ul>      
312   <li>C6678 EVM:</li>
313   </a>
314   <ul>
315     <li>C66X SYS/BIOS</li>
316   </ul>      
317   <li>TCI6608 Simulator:</li>
318   </a>
319   <ul>
320     <li>C66X SYS/BIOS</li>
321   </ul>      
322   <li>TCI6616 Simulator:</li>
323   </a>
324   <ul>
325     <li>C66X SYS/BIOS</li>
326   </ul>
327   <li>TCI6614 EVM:</li>
328   </a>
329   <ul>
330     <li>C66X SYS/BIOS</li>
331   </ul>
332   <li>TCI6638K2K Simulator:</li>
333   </a>
334   <ul>
335     <li>C66X SYS/BIOS</li>
336   </ul>
337   <li>TCI6638K2K EVM:</li>
338   </a>
339   <ul>
340     <li>C66X SYS/BIOS</li>
341   </ul>
342   <li>TCI6636K2H EVM:</li>
343   </a>
344   <ul>
345     <li>C66X SYS/BIOS</li>
346         <li>A15 Arago</li>
347   </ul>
348   <li>TDA2XX EVM:</li>
349   </a>
350   <ul>
351     <li>M4 SYS/BIOS</li>
352     <li>a15 SYS/BIOS</li>
353     <li>c66x SYS/BIOS</li>
354     <li>EVE SYS/BIOS</li>
355   </ul>
356   <li>TDA3XX EVM:</li>
357   </a>
358   <ul>
359     <li>M4 SYS/BIOS</li>
360     <li>c66x SYS/BIOS</li>
361     <li>EVE SYS/BIOS</li>
362   </ul>
363   <li>DRA72X EVM:</li>
364   </a>
365   <ul>
366     <li>M4 SYS/BIOS</li>
367     <li>a15 SYS/BIOS</li>
368     <li>c66x SYS/BIOS</li>
369   </ul>
370     </ul>
371 <hr>
372 <a name="Compatibility"></a>
373 <h2><a name="Compatibility">Compatibility Information</a></h2>
374 <h3><a name="Compatibility">Compatibility Key Definitions</a></h3>
375 <p>
376 Compatibility keys are intentionally independent of Marketing product
377 numbers
378 and are intended to:
379 </p>
380 <ol start="1" type="1">
381   <a name="Compatibility"> <li> Enable tooling to identify
382 incompatibilities between components, and </li>
383   <li> Convey a level of compatibility between different releases to
384 set end user expectations. </li>
385   </a>
386 </ol>
387 <p>
388 Compatibility keys are composed of 3 comma-delimited numbers - M, S, R
389 - where:
390 </p>
391 <ul type="disc">
392   <a name="Compatibility"> <li> <b>M = Major</b>. A difference in M
393 indicates a break in compatibility. </li>
394   <li> <b>S = Source</b>. A difference in S indicates source
395 compatibility. That is, the user's source doesn't require change, but <i>does</i>
396 require rebuilding. </li>
397   <li> <b>R = Radix</b>. A difference in R indicates an introduction
398 of new features, but compatibility with previous interfaces has not
399 broken. If libraries are provided by the package, an application must
400 re-link with the new libraries, but not rebuild from source. </li>
401   </a>
402 </ul>
403 <hr>
404 <a name="Validation"></a>
405 <h2><a name="Validation">Validation</a></h2>
406 <p>
407 This release was built and validated against using the following
408 components:
409 </p>
410 <ul type="disc">
411   <a name="Validation"> <li>CCS 5.5.0</li>
412   <li>C6x Code Generation Tools version 7.4.4 </li>
413   <li>TMS470 Code Generation Tools 5.1.1</li>
414   <li>Arm GCC A15 Toolchain (Linaro) 4.7.3</li>
415   <li>ARP32 Code Generation Tools 1.0.2</li>
416   <li>SYS/BIOS 6.37.01.24</li>
417   <li>XDC Tools 3.25.05.94</li>
418   <li>TCI6498 Simulator 0.7.1</li>
419   </a>
420 </ul>
421 <p>
422 This release was validated in the following configurations:
423 </p>
424 <ul>
425   <li> DA830 EVM:
426     <ul type="circle">
427       <li>C67x SYS/BIOS</li>
428     </ul>
429   </li>
430   <li> TCI6498 Simulator:
431     <ul type="circle">
432       <li>C64X+ SYS/BIOS</li>
433     </ul>
434   </li>
435   <li>C6748 EVM:</li>
436   <li style="margin-left: 40px;" type="circle">C67x SYS/BIOS</li>
437   <li>OMAPL138 EVM:</li>
438   <ul>
439     <li>C67x SYS/BIOS</li>
440     <li>ARM 9 SYSBIOS</li>
441   </ul>
442     <li>TI816X EVM:</li>
443   </a>
444   <ul>
445     <li>C67X SYS/BIOS</li>
446         <li>A8 SYS/BIOS</li>
447         <li>M3 SYS/BIOS</li>
448   </ul>
449   <li>C6472 EVM:</li>
450   </a>
451   <ul>
452     <li>C64X+ SYS/BIOS</li>
453   </ul>
454     <li>TCI6486 EVM:</li>
455   </a>
456   <ul>
457     <li>C64X+ SYS/BIOS</li>
458   </ul>
459     <li>TI814X EVM:</li>
460   </a>
461   <ul>
462     <li>C67X SYS/BIOS</li>
463         <li>A8 SYS/BIOS</li>
464         <li>M3 SYS/BIOS</li>
465   </ul>
466     <li>TI811X EVM:</li>
467   </a>
468   <ul>
469     <li>C67X SYS/BIOS</li>
470         <li>A8 SYS/BIOS</li>
471         <li>M3 SYS/BIOS</li>
472   </ul>
473       <li>C6670 EVM:</li>
474   </a>
475   <ul>
476     <li>C66X SYS/BIOS</li>
477   </ul>      
478   <li>C6678 EVM:</li>
479   </a>
480   <ul>
481     <li>C66X SYS/BIOS</li>
482   </ul>      
483   <li>TCI6608 Simulator:</li>
484   </a>
485   <ul>
486     <li>C66X SYS/BIOS</li>
487   </ul>      
488   <li>TCI6616 Simulator:</li>
489   </a>
490   <ul>
491     <li>C66X SYS/BIOS</li>
492   </ul>
493   <li>TCI6614 EVM:</li>
494   </a>
495   <ul>
496     <li>C66X SYS/BIOS</li>
497   </ul>
498   <li>TCI6638K2K Simulator:</li>
499   </a>
500   <ul>
501     <li>C66X SYS/BIOS</li>
502   </ul>
503   <li>TCI6638K2K EVM:</li>
504   </a>
505   <ul>
506     <li>C66X SYS/BIOS</li>
507   </ul>
508   <li>TCI6636K2H EVM:</li>
509   </a>
510   <ul>
511     <li>C66X SYS/BIOS</li>
512         <li>A15 Arago</li>
513   </ul>
514   <li>TDA2XX EVM:</li>
515   </a>
516   <ul>
517   <li>A15 SYS/BIOS</li>
518   <li>M4 SYS/BIOS</li>
519   <li>DSP SYS/BIOS</li>
520   <li>EVE SYS/BIOS</li>
521   </ul>
522   <li>TDA3XX SIM:</li>
523   </a>
524   <ul>
525   <li>M4 SYS/BIOS</li>
526   <li>DSP SYS/BIOS</li>
527   <li>EVE SYS/BIOS</li>
528   </ul>
529   <li>DRA72X SIM:</li>
530   </a>
531   <ul>
532   <li>A15 SYS/BIOS</li>
533   <li>M4 SYS/BIOS</li>
534   <li>DSP SYS/BIOS</li>
535   </ul>
536   </ul>
537 <hr><a name="Known_Issues">
538 </a>
539 <h2><a name="Known_Issues">Known Issues</a></h2>
540 <p>
541 The following are known issues with the current EDMA3 LLD release:
542 </p>
543 <h4><a name="Known_Issues">Pre-built instrumented libraries for DA830
544 not provided initially.</a></h4>
545 <p>Pre-built instrumented EDMA3 libraries for DA830 will not be
546 provided
547 initially. XDC does not support the same and hence the limitation. See
548 IR#
549 SDOCM00036738 for more details.
550 </p>
551 <h4><a name="Known_Issues">EDMA3 hardware does not work properly in
552 FIFO mode with all the controllers.</a></h4>
553 <p>Very few peripherals support EDMA3 FIFO mode. EMIF controller
554 doesn't support
555 the same. So EDMA3 CANNOT be used in FIFO mode for doing a
556 memory-to-memory data
557 transfers, EDMA3 being configured in the FIFO mode. Applications trying
558 to use
559 EDMA3 in FIFO mode should first check their respective
560 peripheral-controller
561 document for this mode support.
562 </p>
563 <h4><a name="Known_Issues">PingPong Example Fails for certain EDMA
564 instances for some DSP cores in Release mode only.</a></h4>
565 <p>The PingPong example in the package fails for certain EDMA Instances
566 for some DSP cores in Release mode only. It passes for Debug mode. See
567 IR#
568 SDOCM00064758 for more details.
569 </p>
570 <hr>
571 <a name="Examples"></a>
572 <h2><a name="Examples">Examples</a></h2>
573 <p>
574 EDMA3 LLD sample initialization libraries / OS abstraction layers (for
575 different
576 platforms) are located in:
577 </p>
578 <ul type="disc">
579   <a name="Examples"> <li> For Resource Manager: They could be located
580 in <tt>edma3_lld_02_11_14_XX\packages\ti\sdo\edma3\rm\sample\lib</tt>
581 folder. </li>
582   <li> For EDMA3 Driver: They could be located in <tt>edma3_lld_02_11_14_XX\packages\ti\sdo\edma3\drv\sample\lib</tt>
583 folder. </li>
584   </a>
585 </ul>
586 <p>
587 EDMA3 LLD stand-alone applications (for different platforms) are
588 located in:
589 </p>
590 <ul type="disc">
591   <a name="Examples"> <li> EDMA3 Driver: They could be located in <tt>edma3_lld_02_11_14_XX\examples\edma3_driver\</tt>
592 folder. </li>
593   </a>
594 </ul>
595 <ul type="disc">
596   <a name="Examples"> <li> CSL2.x DAT Reference Implementation: It
597 could be located in <tt>edma3_lld_02_11_14_XX\examples\CSL2_DAT_DEMO\</tt>
598 folder. </li>
599   </a>
600 </ul>
601 <hr>
602 <a name="Version"></a>
603 <h2><a name="Version">Version Information</a></h2>
604 <p>
605 This product's version follows a version format, <b>M.mm.pp.bb</b>,
606 where
607 <b>M</b> is a 2 digit major number,
608 <b>mm</b> is 2 digit minor number,
609 <b>pp</b> is a 2 digit patch number, and
610 <b>b</b> is an unrestricted set of digits used as an incrementing build
611 counter.
612 </p>
613 <p>
614 To support multiple side-by-side installations of the product, the
615 product
616 version is encoded in the top level directory, ex. <b>edma3_lld_02_11_14_XX</b>.
617 </p>
618 <p>Subsequent releases of patch upgrades will be identified by the
619 patch number,
620 ex. EDMA3 LLD 02.11.14 with directory <b>edma3_lld_02_11_14_YY</b>.
621 Typically, these
622 patches only include critical bug fixes.
623 </p>
624 <hr>
625 <a name="Support"></a>
626 <h2><a name="Support">Technical Support</a></h2>
627 <p>
628 For technical support, Please post at TI E2E forum <a href="http://e2e.ti.com/support/embedded/f/355.aspx">http://e2e.ti.com/support/embedded/f/355.aspx</a>
629 </p>
630 <hr>
631 <p>Last updated: August 25, 2014
632 </p>
633 </body>
634 </html>