summaryrefslogtreecommitdiff
path: root/TI_OMAP4_Syslink_Release_Notes_L24.x.txt
blob: 1d7022d4867df9137496ce1ec73687bdc81119f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
================================================================================
OMAP4 Syslink List Handoff
================================================================================

Author		: Hari Kanigeri
Date		: Nov 30 2009

===========
Summary:
===========
OMAP4 Syslink consists of required set of drivers for Multi Core
communication. The communication is mainly divided into Chiron to Tesla and
Chiron to Ducati processors. Below sections provide details on the components
in detail.

=================
Tesla MPU Bridge
=================
Tesla MPU bridge is the communication driver between the Chiron and
Tesla processor.

=============
Syslink IPC
=============
Syslink IPC is the communication driver between the Chiron and Ducati cores.

==============
Proc manager
==============
	- Implemented initial version of Proc module. Proc module controls Ducati
	Processors and supports IPC mechanism. Ducati enabler is now part of Proc
	module.

===============
Notify module
===============
	Notify module provides an abstraction to underlying communiation layer,
	notify clients(e.g notify_tesladriver & notify_ducatidriver) would register
	with notify driver(omap_notify) with the supported set of functions
	and the notify users (syslink ipc, tesla bridgedriver) use
	notify driver to use client functionalities.

=============
Sources:
=============
All the above module sources are available along with the
linux-omap4 kernel sources hosted in

http://dev.omapzoom.org/?p=integration/kernel-omap4.git;a=summary

Tesla Bridge api and sample sources are available in omapzoom.org in below link

http://dev.omapzoom.org/?p=tisyslink/userspace-syslink.git;a=summary

=======
Setup:
=======
SDC4430
CCSv4

=====================
Build Instructions:
=====================

Building the Linux Kernel and syslink components.

All syslink component sources are now available along with Kernel sources under
the drivers/dsp folders, They can be built as modules by below steps.

Tesla Bridge driver sources available in folder drivers/dsp/bridge

Syslink IPC component enables communication between Chiron and Ducati cores. The
sources for Syslink components are available in folder drivers/dsp/syslink

Proc manager driver initializes and programs
MMU page table entries which is required for Ducati image loading.

Please follow the below steps to build all the drivers.

From the Kernel sources run below commands.

	1. export PATH varible to arm codesourcey cross compiler.

	2. export ARCH=arm

	3. make distclean

	4. make CROSS_COMPILE=arm-none-linux-gnueabi- omap_4430sdp_defconfig

	5. Run make menuconfig

	6. Select drivers under
		Deivice Drivers -->Sys_Link  --->
						<*>  OMAP IPC Module
						<*>  OMAP Notify Module
						<*>  Mailbox Dispatcher
						<*>  OMAP Notify Tesla Module
						<*>  OMAP Notify Ducati Module
						<*>  Syslink Procmgr
						<*>  Proc 4430
		Device Drivers --><M> DSP Bridge driver-->
						[*]   DSP Bridge Debug Support

		Select DSP Bridge Debug Support option as above.
	7. Save Configuration

	8. Build the kernel by running below commands.

	9. Add mkimage path to the PATH variable (for uImage building).

	10. make CROSS_COMPILE=arm-none-linux-gnueabi- uImage

	11. On successful uImage is built under arch/arm/boot.


=======================================
Building Syslink and Tesla user space modules
=======================================

	Follow the README document in the user-space root folder

Running Tesla Samples
=======================

	1. Boot the kernel with Ramdisk consisting all the drivers and Tesla
		images, samples, API libraries.

	2. Once kernel is booted, cd into the folder where all the binaries are
		placed.

	3. install all the drivers in the sequence as below, this step is
		required only if the drivers are build as modules,
		if all the drivers are build as part of the kernel one can
		ignore steps 3 and 4

		insmod dspbridge.ko

		insmod bridgedriver.ko


	4.Load the image using cexec.out

		./cexec.out ddspbase_tiomap4430.dof64T

		Below are the commands for running
		samples.

		./scale.out 10
		./zerocopymsg.out
		./strmcopy.out 0 install_bridge out-strm-file.
		./ping.out 10
		./dmmcopy.out inoustall_bridge out-dmm-file


Running Bridge Samples in Dynamic loading mode:

	1. load dynbase image.
		./cexec.out dynbase_tiomap4430.dof64T

	2. Register the required dll as below.
		./dynreg.out -r strmcopydyn_4430.dll64T

	3. Run the strmcopy sample.
		./strmcopy.out 0 install_bridge out-strm


=======================
Running Syslink Samples
=======================

	1. NotifyPing.out

	2. messageQApp.out

	3. rcm_singletest.out

	4. syslink_tilertest.out


==============
Tesla Bridge
==============
Features Introduced
--------------------------
- Tesla Unicache enabled.
- Tesla Bridge validated on SDC4430.
- BIOS6 support

==============
Syslink
==============
- Cache functionality is added to Syslink ProcMgr API.
- Syslink Trace daemon added to print traces from SysM3 and AppM3 on the Linux console.
- All basic RCM and MessageQ samples are validated using SysMgr enabled baseimages on both SysM3 & AppM3.
- DucatiPlatform.xs file updated to include a new trace section. The trace section is carved out of the cacheable IPC region.
- All basic Ducati Syslink IPC (Notify, MessageQ) and RCM samples, and Bridge samples have been validated. Tiler sample also has been validated with the latest TILER pre-release.

Important Notes
--------------------

Syslink now uses 49MB of memory from the 512MB RAM.

Memory for Syslink needs to be set aside during bootargs. A suggested command at the u-boot prompt is:
set bootargs root=/dev/ram0 rw mem=463M console=ttyS2,115200n8 initrd=0x81600000,20M ramdisk_size=20480