summaryrefslogtreecommitdiff
path: root/TI_OMAP4_Kernel_Release_Notes_L24.x.txt
blob: 32bcb7656825cdbd3eff600ce8a201901e5f43e5 (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
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
Release notes for the Linux kernel for L24.2
----------------------------------------------

9 December 2009

Copyright (C) 2009 Texas Instruments Incorporated.  All rights reserved.


1.  Introduction
----------------
This document accompanies OMAP(TM) Software Release L24.1 for Linux 2.6.31
on OMAP4430 SDP. The document specifies:
	- Instructions for unpacking the release
	- New features and features the release supports
	- Planned future features
	- Postponed features


2. Release Summary
------------------
This is a release of the Linux Baseport for OMAP4430. It supports the
OMAP4 Wakeup SDP board. The kernel is based on Linux-omap version 2.6.31
from open source. U-boot is based on open-source version 1.1.4.

The u-boot source can be obtained via GIT from:
  http://dev.omapzoom.org/?p=bootloader/u-boot.git;a=shortlog;h=refs/heads/omap4_dev

The x-loader source can be obtained via GIT from:
  http://dev.omapzoom.org/?p=bootloader/x-loader.git;a=shortlog;h=refs/heads/omap4_dev

The kernel source can be obtained via GIT from:
  http://dev.omapzoom.org/?p=integration/kernel-omap4.git;a=shortlog;h=refs/heads/L24.2

Components that are supported in the L24.2 release:
   X-loader, U-Boot, OS Kernel (SMP), Phoenix power IC, UART, GP Timer, GPIO, Watchdog,
   Neon, I2C, MMC/SD/eMMC (with ADMA support), Ethernet, RTC,
   SDMA (including descriptor loading), Keypad, Touch screen, McSPI, McBSP, Mentor USB,
   Phoenix General Purpose ADC, Battery Charging, Audio (Phoenix Audio IC, ABE, AESS),
   Display driver (TAAL based), Basic display (DSS2 migration, FB dev), Tiler memory manager.


3.  Instructions
----------------

3.1 Board setup

Please refer to the OMAP4430 SDP guide for instructions on setting up the OMAP4
board.

3.2 Compiling Images

3.2.1 Compiling U-boot

Set the environment variable PATH such that cross compile binaries point to the
needed tool chain. Refer to section 5 for tool chain information.

To select the default configuration for U-Boot type:
	# make CROSS_COMPILE=arm-none-linux-gnueabi- omap4430sdp_config

To build the U-Boot image type:
	# make CROSS_COMPILE=arm-none-linux-gnueabi-


3.2.2 Compiling X-loader (for booting from eMMC)

Set the environment variable PATH such that cross compile binaries point to the
needed tool chain. Refer to section 5 for tool chain information.

U-boot needs to be placed in a directory parallel to x-loader and compiled first.
E.g.:
	[DIR] omap4
		+-- u-boot
		+-- x-loader

To select the default configuration for X-loader type:
	# make CROSS_COMPILE=arm-none-linux-gnueabi- omap4430sdp_config

To build the X-loader image type:
	# make CROSS_COMPILE=arm-none-linux-gnueabi-
	# make ift CROSS_COMPILE=arm-none-linux-gnueabi-

The above step will create a MLO image. A configuration header needs to be
added at the begining of this MLO to create an image 'x-load.ch.bin' that
can be written to the eMMC for eMMC-booting. Please contact your TI
representative for obtaining the configuration header.

3.2.3 Compiling X-loader (for booting from external MMC)

Edit include/configs/omap4430sdp.h to define CONFIG_MMC1 and disable/comment
CONFIG_MMC2

To select the default configuration for X-loader type:
        # make CROSS_COMPILE=arm-none-linux-gnueabi- omap4430sdp_config

To build the X-loader image type:
        # make CROSS_COMPILE=arm-none-linux-gnueabi-
        # make ift CROSS_COMPILE=arm-none-linux-gnueabi-

The above step will create a MLO image, which can be copied into the
MMC card for booting via MMC.

3.2.4 Compiling the Kernel

Set the environment variable PATH such that cross-compile binaries point to the
needed tool chain. Refer to section 5 for tool chain information.

The default configuration file for Virtio4430 is present at
arch/arm/configs/omap_4430sdp_defconfig.

To work with the default configuration file, run following commands:
	# make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
					omap_4430sdp_defconfig

Build kernel with:
	# make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage

NOTE:	The above steps will create arch/arm/boot/uImage in the kernel directory
	which is the binary used for booting.

3.3 Flashing and Booting

3.3.1 Booting from removable MMC

Use the MLO (ref: section 3.2.2) and u-boot.bin (ref: section 3.2.1) binaries
and follow the instructions at http://elinux.org/BeagleBoard#MMC.2FSD_boot
to boot the board from removable MMC.

Set the board switch settings as follows to boot the board from removable MMC:
	S9 - 1-off, 2-on, 3-on, 4-on
	S8 - 1-off, 2-on, 3-off, 4-on, 5-on, 6-on, 7-on, 8-on

3.3.2 Flashing and booting from eMMC

Follow the instructions below to save x-loader and u-boot binaries to eMMC and
subsequently boot from eMMC.

Get the x-loader and u-boot binaries (that you want to flash to eMMC) into RAM
using one of the following options.

Option 1:
Use a debugger or OMAPFlasher tool to download x-loader (with configuration
header, e.g. x-load.ch.bin) as well as u-boot.bin into
SDRAM and run u-boot from SDRAM.

Option 2:
Boot via a removable MMC card following the instructions in section 3.3.1, but
additionally keep the x-load.ch.bin that you want to flash to eMMC in the same
removable MMC card. After booting from removable MMC, copy the x-load.ch.bin
and u-boot.bin from the MMC to RAM using the following commands:
OMAP44XX SDP # mmcinit 0
OMAP44XX SDP # fatload mmc 0 [Ram Address X] x-load.ch.bin
OMAP44XX SDP # fatload mmc 0 [Ram Address Y] u-boot.bin

Once the x-loader and u-boot binaries are in RAM, use the following commands
to copy them to eMMC.

1) Erase all EMMC contents
OMAP44XX SDP # mmcinit 1
OMAP44XX SDP # mmc 1 erase 0x0 0x800000
2) Flash x-loader
OMAP44XX SDP # mmc 1 erase  0x100  [size of x-loader in hex]
OMAP44XX SDP # mmc 1 write [Ram Address X]  0x100  [size of x-loader in hex]
Note: Ram address X is address where x-loader is downloaded in RAM using either the
debugger, OMAPFlasher or removable MMC.
3) Flash u-boot.bin
OMAP44XX SDP # mmc 1 erase  0x400  [size]
OMAP44XX SDP # mmc  1 write  [Ram Address Y]  0x400  [size]
Note: Ram address Y is address where u-boot is downloaded in RAM using either the
debugger, OMAPFlasher or removable MMC.

Set the board switch settings as follows to boot the board from eMMC:
	S9 - 1-off, 2-on, 3-on, 4-on
	S8 - 1-on, 2-on, 3-on, 4-on, 5-on, 6-off, 7-on, 8-on

3.3.3 Using Filesystem from eMMC

Use fdisk to create an ext2 partition (/dev/mmcblk0p2) in eMMC leaving 2MB of space
at the top.

Use the following commands to flash the filesystem to eMMC partition
1) Bootup with a known good kernel and filesystem from RAM
2) Use a filesystem which has USB Gadget filestorage module g_filestorage.ko
3) Connect the usb cable from the board to the PC
4) Load the USB filestorage gadget module as:
insmod g_filestorage.ko file=/dev/mmcblk0p2 stall=0 removable=1
5) When the USB drive enumerates on the Linux PC, mount the drive
6) Add ext2 filesystem to the mounted drive
7) sync and then mount the drive.
8) Add the following in bootargs "root=/dev/mmcblk0p2 rw rootdelay=1" to be able
to use the eMMC based FS as rootfs.

3.3.4 Bootargs

Since UART3 is used as the console on OMAP4 Wakeup board, you need to set
'console=ttyS2,115200n8' in the bootargs

While using a filesystem from MMC or eMMC, you may use params such as:
'root=/dev/mmcblk0p2 rw rootdelay=1'. The rootdelay is required because
removable cards may take a few seconds to be detected.

While using a filesystem via NFS, you may use params such as:
'root=/dev/nfs rw nfsroot=<serverip>:<mount-partition>,nolock'

Refer to section 3.4.2 for display related bootargs options

For detailed list and explaination of the various boot parameters, please refer
http://www.kernel.org/pub/linux/kernel/people/gregkh/lkn/lkn_pdf/ch09.pdf


3.4 Using FB and V4L2 Display driver

3.4.1 To enable secondary display

Please use following set of commands after kernel bootup for setting
secondary display ON.

1) Enable secondary display (display1)
	echo "1" > /sys/devices/platform/omapdss/display1/enabled
2) Disable overlay1
	echo "0" > /sys/devices/platform/omapdss/overlay1/enabled
3) Attach secondary display as a manager for overlay1
	echo "2lcd" > /sys/devices/platform/omapdss/overlay1/manager
4) Enable overlay1
	echo "1" > /sys/devices/platform/omapdss/overlay1/enabled

3.4.2 Display specific bootargs options

3.4.2.1 Using 1 FB and 3 V4L2 devices
Add the following in bootargs "omapfb.numfb=1"

3.4.2.2 Using 2 FB and 2 V4L2 devices (default option in L24.2)
Add the following in bootargs "omapfb.numfb=2"

3.4.2.3 Enabling DSS DEBUG prints
Add the following in bootargs "omapdss.debug=1"

4. Features
-----------

4.1 New Features

4.2 Supported Features

- Boot-loader:
	X-loader with MMC/eMMC/SD support
	U-boot with USB, MMC/eMMC/SD and Ethernet support

- OS Kernel
	OS Kernel (SMP)
	Phoenix power IC,
	UART,
	GP Timer,
	GPIO,
	Watchdog,
	NEON,
	I2C,
	MMC/SD/eMMC (with ADMA support),
	Ethernet,
	RTC,
	SDMA (including descriptor loading),
	Keypad,
	Touch screen,
	McSPI,
	McBSP,
	Mentor USB,
	Phoenix General Purpose ADC,
	Battery Charging.

-Audio
	Audio playback to Phoenix Hand-free, Head set output devices.
	HDMI audio playback
	Audio record through Phoenix analog MIC input.
	Simultaneous audio playback and capture.


-Video
	Display driver
		- FBdev and V4L2 API support
		- Primary and Secondary DSI and HDMI displays
		- Simultaneous rendering on all 3 displays
	Tiler memory manager.

4.3 Postponed Features

None

4.4 Future Planned Features

Refer to Program schedule.

4.5 Defects Fixed in This Release

None

4.6 Open Defects

None

4.7 Open Change Requests

None

4.8 Rejected Defects

None

4.9 Postponed Defects

None

4.10 Limitations

1) At u-boot level saveenv command doesn't work.
2) MAC address reading from ethernet EEPROM is not supported.


5. Tool Chain
-------------
The toolchain used to build the code can be obtained from CodeSourcery at the
following URL:
	http://www.codesourcery.com/sgpp/lite/arm/portal/release858

The tool chain version is Sourcery G++ Lite 2009q1-203 for ARM GNU/Linux.

The tool chain requires glibc 2.3.0 or higher to compile the source code on
the host machine.


--------------------------------------------------------------------------------

OMAP(TM) is a Trademark of Texas Instruments Incorporated
Innovator(TM) is a Trademark of Texas Instruments Incorporated
Code Composer Studio(TM) is a Trademark of Texas Instruments Incorporated
DSP/BIOS(TM) is a Trademark of Texas Instruments Incorporated

All other trademarks are the property of the respective owner.