Difference between revisions of "User:Pau pajuelo"

From IGEP - ISEE Wiki

Jump to: navigation, search
m (DM3730: Decode an AAC audio file (OK))
 
Line 1: Line 1:
= TODO: Update peripheral tutorials =
+
= TODO: =
  
= Set up a NFS between IGEP Board and IGEP VM  =
+
Categorize new tutorials
  
== Overview  ==
+
How to manage the kernel modules on Linux
  
Network File System (NFS) is a Distributed file system protocol originally developed by Sun Microsystems in 1984, allowing a user on a client Computer to access files over a network in a manner similar to how local storage is accessed. NFS, like many other protocols, builds on the Open Network Computing Remote Procedure Call (ONC RPC) system. The Network File System is an open standard defined in RFCs, allowing anyone to implement the protocol. More information [http://en.wikipedia.org/wiki/Network_File_System here].<br>
+
How do I edit my kernel command line
  
In IGEP Boards, NFS protocol can be used to mount a whole rootfs partition located in a remote disk like Virtual Machine, this method can be useful for:<br>
+
== AUDIO DSP-ARM==
  
*Your remote rootfs will not be limited by flash or MicroSD storage.
+
===Included (IGEP GST DSP):===
*You can transfer binaries without using remote connections.
+
'''AACHEDEC -> DEC AACHE (OK)'''
*You can test other rootfs only editing igep.ini configuration file.
 
  
{| border="1" width="200" cellspacing="1" cellpadding="1"
+
http://download.wavetlan.com/SVV/Media/HTTP/FAAC-HE-AAC.aac
|-
 
| [[Image:Nfs1 filesystem.png|331px]]
 
| [[Image:Nfs2 filesystem.png|331px]]
 
|}
 
  
'''<sup>Click to enlarge image</sup>'''
+
gst-launch --gst-debug-level=2 filesrc location=sampleaache.m4a ! TIAuddec1 codecName=aachedec engineName=codecServer ! volume volume=0.25 ! alsasink  sync=false
  
== Requirements  ==
+
outofthebox->ok
  
There are some requisites to follow this guide:
+
----
  
*[http://isee.biz/component/zoo/item/igep-virtual-machine-sdk-yocto IGEP SDK VM]: follow the IGEP&nbsp;SDK&nbsp;SOFTWARE&nbsp;USER&nbsp;MANUAL (chapter 2.3 "Setting up and running the VM")<br>
+
'''MP3DEC -> DEC MP3 (AUDIO ERRORS)'''
*[http://downloads.isee.biz/denzil/binary/qt4e-demo-image-igep00x0.tar.bz2 IGEP Qt Demo] or [http://isee.biz/component/zoo/item/igep-firmware-yocto-1-2 IGEP Firmware]: follow the IGEP&nbsp;SDK SOFTWARE&nbsp;USER&nbsp;MANUAL (chapter 6.1 "Create IGEP firmware bootable micro-sd card") <br>
 
*IGEP Board with Ethernet or Wifi connection<br>  
 
*MicroSD Card (at least 2Gbytes)
 
  
== Set up NFS at VM  ==
+
- Followed README file from ISEE - IGEP DSP - GST + DMAI Support Package 3.40.00
  
=== Download and extract IGEP root filesystem  ===
+
http://www.stephaniequinn.com/Music/Canon.mp3
  
ISEE mantains two rootfs builded with Yocto tools (IGEP firmware and Qt demo), so this How-to we use these two distros :
+
gst-launch --gst-debug-level=2 filesrc location=Canon.mp3 ! TIAuddec1 codecName=mp3dec engineName=codecServer ! volume volume=0.25 ! alsasink  sync=false
  
*IGEP firmware: default software shipped in all IGEP Boards. It comes with some documentation and tools, so you need to uncompress again to extract rootfs
+
'''Random fatal bit error'''
<pre>wget http://downloads.isee.biz/denzil/binary/igep_firmware-yocto-1.2.1-1.tar.bz2
 
tar jxf igep_firmware-yocto-*.tar.bz2
 
cd igep_firmware-yocto-*
 
sudo mkdir /srv/{your_rootfs_dir}
 
sudo tar jxf demo-image-sato-igep00x0.tar.bz2 -C /srv/{your_rootfs_dir} </pre>
 
*Qt demo: demo filesystem with Qt libraries and examples
 
<pre>wget http://downloads.isee.biz/denzil/binary/qt4e-demo-image-igep00x0.tar.bz2
 
sudo mkdir /srv/{your_rootfs_dir}
 
sudo tar jxf qt4e-demo-image-igep00x0.tar.bz2 -C /srv/{your_rootfs_dir}</pre>
 
  
=== Configure NFS Server  ===
+
'''mp3-plugin doesn't resolve the error'''
  
*Install nfs-kernel-server:
+
----
<pre>sudo apt-get install nfs-kernel-server </pre>
 
*Make directory exports.d:<br>
 
<pre>sudo mkdir /etc/exports.d </pre>
 
Edit /etc/exports file, add the following line and save the changes:
 
<pre>/srv/{your_rootfs_dir} *(rw,sync,no_subtree_check,no_root_squash)</pre>
 
Export NFS file system:
 
<pre>sudo exportfs -a</pre>
 
'''NOTE: '''You can have as many rootfs as you want
 
  
== Set up NFS at IGEP Board  ==
+
'''G711DEC -> DEC PCM uLAW (speech) (NOT TESTED)'''
  
=== MicroSD boot  ===
+
'''G711ENC -> ENC PCM uLAW (speech) (NOT TESTED)'''
  
Configure igep.ini file located at boot partition:<br>  
+
===Not included  (IGEP GST DSP):===
 +
'''ACCLCDEC -> DEC AACLE (NOT TESTED)'''
  
*Comment MMC boot:
+
'''AACLDDEC -> DEC AACLD (NOT TESTED)'''
<pre>;  --- Configure MMC boot ---
 
;root=/dev/mmcblk0p2 rw rootwait</pre>
 
*Add NFS configuration:
 
<pre>;  --- Configure NFS boot ---
 
ip=192.168.5.1:192.168.5.10::255.255.255.0::eth0
 
root=/dev/nfs
 
nfsroot=192.168.5.10:/srv/{your_rootfs_dir}</pre>
 
Save changes, plug MicroSD card and power up your IGEP.<br>  
 
  
=== Flash boot<br> ===
+
'''WMA9 -> DEC WMA9 (COMPILING ISSUES)'''
  
Boot IGEP with a MicroSD card without NFS support.
+
'''ACCLCENC -> ENC AACLE (NOT TESTED)'''
<pre>mkdir /tmp/temp
 
mount -t jffs2 /dev/mtdblock1 /tmp/temp </pre>  
 
Now, mtdblock1 partition is mounted at /tmp/temp directory. Modify igep.ini located in: /tmp/temp/igep.ini
 
  
*Comment JFFS2 FS boot:
+
'''ACCHEENC -> ENC AACHE (NOT TESTED)'''
<pre>;  --- Configure JFFS2 FS boot ---
 
;root=/dev/mtdblock2
 
;rootfstype=jffs2</pre>
 
*Add NFS configuration:
 
<pre>;  --- Configure NFS boot ---
 
ip=192.168.5.1:192.168.5.10::255.255.255.0::eth0
 
root=/dev/nfs
 
nfsroot=192.168.5.10:/srv/{your_rootfs_dir}</pre>  
 
Save changes, power down IGEP, unplug MicroSD card and power up your board.
 
  
= Install and configure Codeblocks for IGEP devices <br> =
+
'''AACLDENC -> ENC AACLD (NOT TESTED)'''
  
== Overview  ==
+
'''WMA8 -> ENC WMA8 (NOT TESTED)'''
  
Codeblocks is a free and open source, cross-platform IDE which supports multiple compilers including GCC and MSVC. It is developed in C++ using wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities and features are defined by the provided plugins. Currently, Codeblocks is oriented towards C and C++. It can also be used for creating ARM, AVR, D, DirectX, FLTK, Fortran, GLFW, GLUT, GTK+, Irrlicht, Lightfeather, MATLAB, OGRE, OpenGL, Qt, SDL, SFML, STL, SmartWin and wx programs and applications, although in some cases installing third-party SDKs or frameworks is necessary. More information [http://en.wikipedia.org/wiki/Codeblocks here].<br>
+
'''Problems adding codecs into igep-gst-dsp'''
  
Codeblocks is not installed by default in IGEP&nbsp;SDK VM, because Eclipse IDE is full integrated with IGEP Firmware. If you don't like Eclipse IDE or you want to use Codeblocks anyway this How-to can be helpful to install, set up and use it.<br>
+
== DM3730==
  
== Requirements  ==
+
=== DM3730: Decode a MP3 file (OK) (ADDED TO REPOSISTORIES)===
  
There are some requisites to follow this guide:
+
'''under contruction'''
  
*[http://isee.biz/component/zoo/item/igep-virtual-machine-sdk-yocto IGEP SDK VM]: follow the IGEP&nbsp;SDK&nbsp;SOFTWARE&nbsp;USER&nbsp;MANUAL (chapter 2.3 "Setting up and running the VM")<br>
+
'''does not have an accelerated audio decoder element'''
*[http://isee.biz/component/zoo/item/igep-firmware-yocto-1-2 IGEP Firmware]: follow the IGEP&nbsp;SDK SOFTWARE&nbsp;USER&nbsp;MANUAL (chapter 6.1 "Create IGEP firmware bootable micro-sd card") <br>
 
*IGEP Board
 
*[http://downloads.isee.biz/pub/files/CodeBlocks_examples.tar.bz2 Codeblocks examples]
 
*MicroSD Card (optional)
 
  
== Install Codeblocks in VM  ==
+
- Compiled gst-plugins-ugly using yocto tools
<pre>sudo apt-get install codeblocks codeblocks-contrib </pre>
 
== Configure Codeblocks  ==
 
  
=== Startup script  ===
+
- rpm -igst-plugins-ugly-0.*.rpm
  
Codeblocks startup script (Codeblocks.sh) will let you to load IGEP SDK YOCTO environtment variables to IDE. Don't execute this script if you want to compile with other environtment like x86.<br>
+
- rpm -i libmad0-0.*.rpm
<pre>cd Desktop/IGEP\ development/
 
gedit Codeblocks.sh</pre>
 
Copy this code to Codeblocks.sh
 
<pre>#! /bin/bash
 
source /opt/poky/1.2/environment-setup-armv7a-vfp-neon-poky-linux-gnueabi
 
exec codeblocks </pre>
 
Give execute privileges to script:
 
<pre>chmod a+x ~/Desktop/IGEP\ development/Codeblocks.sh
 
</pre>
 
{| border="1" width="200" cellspacing="1" cellpadding="1"
 
|-
 
| [[Image:Opencodeblocks1.png|331px]]<br>
 
| [[Image:Opencodeblocks2.png|331px]]<br>
 
|}
 
  
<br>
+
- rpm -i gst-plugins-ugly-mad-0.*.rpm
  
=== Add IGEP SDK Compiler and Debugger  ===
+
- gst-launch filesrc location=sample.mp3 ! mad ! volume volume=0.25 ! alsasink
  
Follow the next instructions to add IGEP SDK&nbsp;Yocto support:  
+
=== DM3730: Decode a RA or RM audio file (ERRORS)===
  
{| border="1" width="200" cellspacing="1" cellpadding="1"
+
gst-launch --gst-debug-level=3 filesrc location=sample.ra ! rmdemux ! volume volume=0.25 ! alsasink
|-
 
| [[Image:Addsdkcodeblocks1.png|250px]]
 
| [[Image:Addsdkcodeblocks2.png|250px]]
 
| [[Image:Addsdkcodeblocks3.png|250px]]
 
|-
 
| [[Image:Addsdkcodeblocks4.png|250px]]
 
| [[Image:Addsdkcodeblocks5.png|250px]]
 
| [[Image:Addsdkcodeblocks6.png|250px]]
 
|}
 
  
'''<sup>Click to enlarge image</sup>'''
+
http://www.superluminal.com/andalib/ra/listen.ra
  
Save all changes
+
gst-plugins-ugly-rmdemux-0.10.19-r1.armv7a.rpm
  
== Using Codeblocks  ==
+
libgstsdp-0.10-0-0.10.36-r3.armv7a.rpm:
 +
libgstsdp-0.10-0
 +
libgstsdp-0.10.so.0
  
You can create two types of projects on Codeblocks: custom Makefile or managed by Codeblocks. These examples can be used as a template for your project. The examples are:<br>
+
libgstrtsp-0.10-0-0.10.36-r3.armv7a.rpm:
 +
libgstrtsp-0.10-0
 +
libgstrtsp-0.10.so.0
  
*C_example, Codeblocks-based “Hello World” program written in C.
+
'''Error:'''
*Cairo_example, generates a png file named hello.png.
 
*Cpp_example, Codeblocks-based “Hello World” program written in C++
 
*Dbus_example, sends "Hello Wolrd!" using D-Bus message system.
 
*Glib_example, simple “Hello World" written using Glib library.
 
*Gstreamer_example, ogg audio player using Gstreamer.
 
*Gtk_example, Hello World in GTK.
 
*C_example_without_autotools, custom Makefile “Hello World” program written in C.
 
  
=== Build programs ===
+
0:00:00.084839071 1550  0xa137b0 WARN                rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC
  
'''NOTE:''' Use Debug build if you want to debug later
+
0:00:00.085052695  1550  0xa137b0 WARN                rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC
  
Compile with: Build-&gt;Rebuild (Ctrl+F11).  
+
0:00:00.085540976  1550  0xa137b0 WARN                rmdemux rmdemux.c:1057:gst_rmdemux_chain:<rmdemux0> Unknown object_id .ra4
  
=== Run programs ===
+
0:00:00.085693564 1550  0xa137b0 WARN                rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC
  
Once you compiled the program pass it from VM to IGEP&nbsp;via SSH, launch a terminal and type:  
+
0:00:00.085815634  1550  0xa137b0 WARN                rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC
<pre>scp "pathtobinary" root@"IGEP IP for example: 192.168.5.1":/home/root</pre>
 
Get a remote shell prompt and run your program: <br>
 
<pre>ssh root@"IGEP IP for example: 192.168.5.1"
 
./"binary"  "optional:arguments"</pre>  
 
=== Debug programs  ===
 
  
'''NOTE''': When you debug programs using CodeBlocks "Step into" and "Step out" are not supported, because dinamic libraries symbols are not loaded by gdb.  
+
0:00:00.085907187  1550  0xa137b0 WARN                rmdemux rmdemux.c:1057:gst_rmdemux_chain:<rmdemux0> Unknown object_id RaTC
  
Once you compiled the program pass it from VM to IGEP&nbsp;via SSH, launch a terminal and type:  
+
=== DM3730: Decode an AAC audio file (OK)===
<pre>scp "pathtobinary" root@"IGEP IP for example: 192.168.5.1":/home/root</pre>
 
Get a remote shell prompt and run gdbserver:
 
<pre>ssh root@"IGEP IP for example: 192.168.5.1"
 
gdbserver "VM IP for example: 192.168.5.10":1000 "pathtobinary" "optional:armguments"
 
</pre>
 
Now use the followings steps to debug program:<br>
 
  
{| border="1" width="200" cellspacing="1" cellpadding="1"
+
EXTRA_OECONF += "--disable-examples --disable-experimental --disable-sdl --disable-cdaudio --disable-directfb \
|-
+
                --with-plugins=musicbrainz,wavpack,ivorbis,mpegvideoparse,'''faad2''' --disable-vdpau --disable-apexsink \
| [[Image:Debugcodeblocks1.png|331px]]
+
                --disable-orc"
| [[Image:Debugcodeblocks2.png|331px]]
+
Install:
|-
 
| [[Image:Debugcodeblocks3.png|331px]]
 
| [[Image:Debugcodeblocks4.png|331px]]
 
|}
 
  
Image 1: set breakpoints in your source code
 
  
'''NOTE:''' You cant use igep-remote-x program with IGEP firmware (chapter 3.3 "Remote X")<br>
+
faad2-2.7-r2.armv7a.rpm
 +
libfaad2-2.7-r2.armv7a.rpm
 +
gst-plugins-bad-faad-0.10.23-r2.armv7a.rpm
  
= How to use SPI (prove with new firmware, under construction) =
+
'''maybe there are necessary more packages, compare actual gst-bad-recipe and add changes. Necessary add faad2 recipe'''
 +
<pre>bitbake faad2 gst-plugins-bad</pre>
 +
<pre> rpm -i faad2-2.7-r2.armv7a.rpm
 +
rpm -i libfaad2-2.7-r2.armv7a.rpm
 +
rpm -i gst-plugins-bad-faad-0.10.23-r2.1.armv7a.rpm
 +
  </pre>
  
== Overview  ==
+
gst-launch --gst-debug-level=3 filesrc location=sample.aac ! faad ! volume volume=0.10 ! alsasink
  
This How-To is meant to be a starting point for people to learn use SPI for IGEP devices as quickly and easily as possible. In this how-to, we run an example program that reads and writes registers from 3-axis accelerometer ([http://www.st.com/internet/analog/product/250725.jsp LIS3DH]) included on the board IGEP New York. This program was tested in Poky firmware with Kernel 2.6.37.y.
+
==== DM3730: Decode an WMA audio file (OK)====
  
== Feedback and Contributing  ==
+
<pre>bitbake gst-ffmpeg</pre>
  
At any point, if you see a mistake you can contribute to this How-To.  
+
<pre>gst-launch -v filesrc location=sample.wma ! asfdemux ! decodebin ! audioconvert ! volume volume=0.25 ! alsasink  </pre>
  
== Requirements  ==
+
=== DM3730: Decode an OGG audio file (OK)===
  
There are a few requisites to follow this tutorial:  
+
'''Into repositories (base plugins):'''
  
*[http://isee.biz/component/zoo/item/igep-yocto-toolcahin-sdk IGEP YOCTO 1.2 Toolchain SDK]
+
http://upload.wikimedia.org/wikipedia/en/0/04/Rayman_2_music_sample.ogg
*[http://isee.biz/component/zoo/item/igep-firmware-yocto-1-2 IGEP Firmware yocto 1.2]
 
*IGEP MODULE with IGEP New York
 
*SPI example Program '''''(link program)'''''
 
  
== How Works  ==
+
gst-launch -v filesrc location=sample.ogg ! oggdemux ! vorbisdec ! audioconvert ! volume volume=0.25 ! alsasink
  
'''LIS3DH accelerometer:''' It is the accelerometer mounted in IGEP New York.
+
== BASE0033 CONNECTOR SUMMARY TABLE==
  
'''Omap3 SPI Peripheral:''' It is the hardware used to communicated with accelerometer and other SPI devices.
+
== Configure a static IP using the same private network range ==
  
'''Omap2_mcspi:''' It is a bus driver than controls Omap3 SPI Peripheral.
+
'''under construction'''
  
'''Spi:''' It is a protocol driver that defines functions and strucs used in SPI bus.
+
IGEP Firmware Yocto uses the following Ethernet network configuration (IP addresses)
  
'''Spidev:''' It is a device driver that export spi driver functionalities to userspace.  
+
*eth0 − 192.168.5.1
 +
*eth0:0 − assigned via dhcp.  
  
'''Lis3lv02d_spi:''' SPI glue layer for lis3lv02d
+
This Ethernet network configuration is really useful when you work using a Linux operating system like IGEP SDK Virtual Machine. Because you use eth0 device to communicate easily with your board and eth0:0 device to get Internet acces using dhcp protocol.
  
'''Lis31v02d:''' Device driver for LIS3DH accelerometer.  
+
But some scenarios this network configuration is not useful, for example: if you use a non-Linux operating system, connect to two IP private range interfaces is not simple. This How-to can be useful to
  
'''Exp_ilms0015:''' It is a startup program for IGEP New York. It attach lis31v02d with Spi driver.  
+
(Make diagram one: IGEP and Linux defualt communication. Diagram 2 IGEP and other SO alternative configuration)
  
{| border="1" width="200" cellspacing="1" cellpadding="1"
+
= igep.ini parameters  =
|-
 
| [[Image:Spi linux schematic.png|501x600px]]
 
|}
 
  
<br> More information about Linux Kernel SPI at:  
+
The kernel command line syntax is name=value1. These next parameters are supported in igep.ini since IGEP-X_Loader 2.4.0-2:  
  
*[http://git.isee.biz/?p=pub/scm/linux-omap-2.6.git;a=blob;f=Documentation/spi/spi-summary;h=4884cb33845d7629987f60610eeedb863561006e;hb=refs/heads/linux-2.6.37.y SPI Overview]
+
=== [kernel]  ===
  
*[http://git.isee.biz/?p=pub/scm/linux-omap-2.6.git;a=blob;f=Documentation/spi/spidev;h=ed2da5e5b28a4490a3b03787b02df66d083692be;hb=refs/heads/linux-2.6.37.y SPIDEV]
+
{| align="JUSTIFY" cellpadding="1" border="1" style="width: 900px; height: 240px;"
 
+
|-
== Attach Spidev to SPI driver  ==
+
| '''Parameter Name'''
 
+
| '''Description'''
=== Modify Linux Kernel Sources  ===
+
| '''Default value'''
 
+
| '''Comments'''
To read accelerometer registers from spidev, we need to attach spidev driver to spi driver at start up. So it is necessary to modify spi_board.
+
|-
 
+
| kaddress
Go to $(Kernel path)/arch/arm/mach-omap2/exp-ilms0015.c and edit the next fields in bold words.
+
| Kernel copy address
 
+
| =0x80008000
{| border="1" width="500" cellspacing="1" cellpadding="1"
+
| Hex memory address
 +
|-
 +
| rdaddress
 +
| Ram Disk location address
 +
| =0x81600000
 +
| Hex memory address;<br>disabled by default
 +
|-
 +
| serial.low
 +
| Serial number (low part)
 +
| =00000001
 +
| Numeric
 +
|-
 +
| serial.high
 +
| Serial number (high part)
 +
| =00000000
 +
| Numeric
 +
|-
 +
| revision
 +
| Revision ID
 +
| =0003
 +
| Numeric
 +
|-
 +
| kImageName
 +
| Kernel, binary image name
 +
| =zImage
 +
| Kernel or binary image name
 +
|-
 +
| kRdImageName
 +
| Kernel RAM Disk Image Name
 +
| -  
 +
| Ram Disk image name
 +
|-
 +
| MachineID
 +
| Machine ID (kernel ID)
 +
| ;IGEPv2<br>=2344
 +
| ;Module<br>=2717<br>;Proton<br>=3203
 
|-
 
|-
|  
+
| Mode
static struct spi_board_info lis3lv02d_spi_board_info __initdata = {
+
| Boot Mode
 
+
| ;Linux kernel<br>=kernel
&nbsp;&nbsp;&nbsp;&nbsp;'''.modalias = "spidev",'''
+
| ;Other image (like uboot)<br>[binary image]
 
 
&nbsp;&nbsp;&nbsp; '''//.modalias&nbsp;&nbsp;&nbsp; = "lis3lv02d_spi",'''
 
 
 
&nbsp;&nbsp;&nbsp; .bus_num&nbsp;&nbsp;&nbsp; = -EINVAL,
 
 
 
&nbsp;&nbsp;&nbsp; .chip_select&nbsp;&nbsp;&nbsp; = -EINVAL,
 
 
 
&nbsp;&nbsp;&nbsp; .max_speed_hz&nbsp;&nbsp;&nbsp; = 1*1000*1000,
 
 
 
&nbsp;&nbsp;&nbsp; .irq&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; = -EINVAL,
 
 
 
&nbsp;&nbsp;&nbsp; .mode&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; = SPI_MODE_0,
 
 
 
&nbsp;&nbsp;&nbsp;'''//.platform_data&nbsp;&nbsp;&nbsp; = &amp;lis3lv02d_pdata,'''
 
 
 
};
 
 
 
inline void __init ilms0015_lis3lv02d_init(int bus_num, int cs, int irq)
 
 
 
{
 
 
 
&nbsp;&nbsp;&nbsp; struct spi_board_info *spi = &amp;lis3lv02d_spi_board_info;
 
 
 
&nbsp;&nbsp;&nbsp; if ((gpio_request(irq, "LIS3LV02D IRQ") == 0)
 
 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; (gpio_direction_input(irq) == 0))
 
 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gpio_export(irq, 0);
 
 
 
&nbsp;&nbsp;&nbsp; else {
 
 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pr_err("IGEP: Could not obtain gpio LIS3LV02D IRQ\n");
 
 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;
 
 
 
&nbsp;&nbsp;&nbsp; }
 
 
 
&nbsp;&nbsp;&nbsp; spi-&gt;bus_num = bus_num;
 
 
 
&nbsp;&nbsp;&nbsp; spi-&gt;chip_select = cs;
 
 
 
&nbsp;&nbsp;&nbsp; spi-&gt;irq = OMAP_GPIO_IRQ(irq),
 
 
 
&nbsp;&nbsp;&nbsp; spi_register_board_info(&amp;lis3lv02d_spi_board_info, 1);
 
 
 
}
 
 
 
...
 
 
 
void __init ilms0015_init(void)
 
 
 
{
 
 
 
&nbsp;&nbsp;&nbsp; mux_partition = omap_mux_get("core");
 
 
 
&nbsp;&nbsp;&nbsp; /* Mux initialitzation for ilms0015 */
 
 
 
&nbsp;&nbsp;&nbsp; omap_mux_write_array(mux_partition, ilms0015_mux);
 
 
 
&nbsp;&nbsp;&nbsp; /* 3-axis accelerometer */
 
 
 
&nbsp;&nbsp;&nbsp; ilms0015_lis3lv02d_init(1, 2, 174);
 
 
 
&nbsp;&nbsp;&nbsp; /* Export some GPIO */
 
 
 
&nbsp;&nbsp;&nbsp; ilms0015_gpio_init();
 
 
 
}
 
 
 
 
|}
 
|}
  
Now spi_register_board_info has all information necessary to attach spidev driver instead lis3lv02d_spi.
+
=== [kparams]  ===
  
Once we edit code, compile your modified Kernel, you can follow [http://labs.isee.biz/index.php/Linux_Kernel_2.6.37.y#Build_kernel_from_sources this tutorial] for this purpose.
+
{| align="JUSTIFY" cellpadding="1" border="1" style="width: 900px; height: 1095px;"
 
+
|-
=== Enable ilms0015 support  ===
+
| '''Parameter Name'''
 
+
| '''Description'''
“ilms0015” is the technical name of IGEP New York.
+
| '''Default value'''
 
+
| '''Comments'''
By default, poky-media-create (See: [http://labs.isee.biz/index.php/How_to_create_a_SD-card_with_the_latest_software_image Poky firmware with Kernel 2.6.37.y]) configured as igep0030, gives support only for IGEP Expansions Paris and Berlin. We need to configure igep.ini and gives support to IGEP New York:
+
|-
 
+
| buddy
{| border="1" width="500" cellspacing="1" cellpadding="1"
+
| Enable/disable expansion board support
 +
| &nbsp;;IGEPv2 Expansion Board support<br>=igep0022
 +
| &nbsp;;Berlin and Paris Expansion Board support<br>=base0010<br>New York Expansion<br>=ilms0015
 +
|-
 +
| console
 +
| Setup the kernel console parameters
 +
| =ttyO2,115200n8
 +
| -
 +
|-
 +
| earlyprintk
 +
| Enable early printk
 +
| -
 +
| -
 +
|-
 +
| mem
 +
| Setup the Board Memory Configuration
 +
| =430M
 +
| -
 +
|-
 +
| boot_delay
 +
| Setup the boot delay
 +
| =0
 +
| -
 +
|-
 +
| mpurate
 +
| Setup ARM Processor Speed
 +
| -
 +
| -
 +
|-
 +
| loglevel
 +
| Setup the loglevel
 +
| -
 +
| -
 +
|-
 +
| debug
 +
| Enable kernel debug output
 +
| -
 +
| -
 +
|-
 +
| fixrtc
 +
| Fix RTC variable
 +
| -
 +
| -
 +
|-
 +
| nocompcache
 +
| Configure nocompcache variable
 +
| =1
 +
| -
 +
|-
 +
| omapfb.mode
 +
| Configure frame bugger configuration
 +
| =dvi:hd720-16@50
 +
| &nbsp;;Other configuration<br>=dvi:1280x720MR-16@60
 +
|-
 +
| vram
 +
| Configure Video RAM assigned to every frame buffer
 +
| -
 +
| -
 +
|-
 +
| omapfb.vram
 +
| Configure Video RAM assigned to every frame buffer
 +
| -
 +
| -
 +
|-
 +
| omapfb.debug
 +
| Configure frame buffer debug output
 +
| -
 +
| -
 +
|-
 +
| omapdss.debug
 +
| Configure DSS Video debug output
 +
| -
 +
| -
 +
|-
 +
| smsc911x.mac0
 +
| Configure Board Ethernet Mac Address
 +
| =0xb2,0xb0,0x14,0xb5,0xcd,0xde
 +
| For IGEP BERLIN
 +
|-
 +
| smsc911x.mac1
 +
| Configure Board Ethernet Mac Address
 +
| =0xb2,0xb0,0x14,0xb5,0xcd,0xdf
 +
| For IGEP BERLIN (only with IGEP PROTON)
 +
|-
 +
| smsc911x.mac
 +
| Configure Board Ethernet Mac Address
 +
| =0xb2,0xb0,0x14,0xb5,0xcd,0xde
 +
| For IGEPv2, IGEP PROTON, IGEP PARIS and IGEP BERLIN
 +
|-
 +
| ubi.mtd
 +
| Fot UBI FS boot
 +
| -
 +
| -
 +
|-
 +
| root
 +
| Configure root directory for MMC, NFS or UBI
 +
| &nbsp;;For mmc memory<br>=/dev/mmcblk0p2 rw rootwait
 +
| &nbsp;;For flash memory<br>=/dev/mtdblock2
 
|-
 
|-
| &nbsp;; Machine configuration
+
| nfsroot
'''&nbsp;&nbsp;&nbsp;&nbsp;;buddy=base0010 buddy.revision=B '''
+
| For NFS boot
 
+
| -
'''&nbsp;&nbsp;&nbsp; buddy=ilms0015'''
+
| -
 
 
|}
 
 
 
=== Test changes  ===
 
 
 
Once you copy your new Kernel binaries and edit igep.ini. Power up your board, log in and check your changes:
 
 
 
{| border="1" width="500" cellspacing="1" cellpadding="1"
 
 
|-
 
|-
|  
+
| rootfstype
root@igep00x0:/dev# lsmod
+
| For UBI FS boot
 
+
| -  
Module&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Size&nbsp;&nbsp;&nbsp; Used by
+
| -
 
 
rfcomm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 48522&nbsp;&nbsp; 0
 
 
 
hidp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 13311 &nbsp; 0
 
 
 
l2cap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; 49001&nbsp;&nbsp; 4 rfcomm,hidp
 
 
 
bluetooth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 67643&nbsp;&nbsp; 3 rfcomm,hidp,l2cap
 
 
 
libertas_sdio&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 13887 &nbsp; 0
 
 
 
libertas&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 99318 &nbsp; 1 libertas_sdio
 
 
 
option&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 13044 &nbsp; 0
 
 
 
usb_wwan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7196 &nbsp; 1 option
 
 
 
usbserial&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23870 &nbsp; 2 option,usb_wwan
 
 
 
'''spidev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4898 &nbsp; 0&nbsp;'''
 
 
 
root@igep00x0:/dev# ls /dev/spidev1.2
 
 
 
/dev/spidev1.2
 
 
 
|}
 
 
 
“spidev1.2”: refers at McSPI1 bus 2. Now we can communicate to accelerometer using spi driver functions.
 
 
 
== SPI Test program  ==
 
 
 
=== Overview  ===
 
 
 
This program is based in [http://git.isee.biz/?p=pub/scm/linux-omap-2.6.git;a=blob;f=Documentation/spi/spidev_test.c;h=16feda9014692a87a4996bf51d759ab9e7500ee5;hb=refs/heads/linux-2.6.37.y spidev_test] and it was edited to run with LIS3DH accelerometer, program can be explained in four parts:
 
 
 
'''Connection properties:''' program lets change via parameters SPI configurations like: device, max speed, delay, bits per word, clock phase, clock polarity, etc. If you don't use any of this parameters program will use default options for LIS3DH communication.
 
 
 
'''Read mode: '''Reads a word from a register.
 
 
 
'''Write mode: '''Writes a word in a register.
 
 
 
'''Test mode:''' Reads X, Y and Z axes from accelerometer.
 
 
 
We recommend to read peripheral datasheet before use or modify program.
 
 
 
=== Compile program  ===
 
 
 
The program source was compiled with Poky SDK but you can use other compilers like Linaro Toolchain:
 
<pre>arm-poky-linux-gnueabi-gcc spiexamplebeta2.c -o spiexampleb2  </pre>
 
Copy your final binary to rootfs.
 
 
 
== Test program<br>  ==
 
 
 
=== Read WHO_AM_I register(0Fh)  ===
 
 
 
LIS3DH has this dummy register (See 8.6 chapter) as a device identification. Its value is 0x33:
 
<pre>root@igep00x0:~# ./spiexampleb2 -R 0F
 
spi mode: 0
 
bits per word: 8
 
max speed: 1000000 Hz (1000 KHz)
 
Value from 0F is: 33
 
root@igep00x0:~#  </pre>
 
=== Read and Write CTRL_REG1 (20h)  ===
 
 
 
This register is used to enable/disable: accelerometer and XYZ axes (See 8.8 chapter). The default value at startup is:
 
<pre>root@igep00x0:~# ./spiexampleb2 -R 20
 
spi mode: 0
 
bits per word: 8
 
max speed: 1000000 Hz (1000 KHz)
 
Value from 20 is: 07
 
root@igep00x0:~#  </pre>
 
It means that accelerometer was disabled and X, Y and Z axes was enabled. For example we can disable X axe typing:
 
<pre>root@igep00x0:~# ./spiexampleb2 -W 20 -V 06
 
spi mode: 0
 
bits per word: 8
 
max speed: 1000000 Hz (1000 KHz)
 
Register to write 20 with value 06
 
root@igep00x0:~# ./spiexampleb2 -R 20     
 
spi mode: 0
 
bits per word: 8
 
max speed: 1000000 Hz (1000 KHz)
 
Value from 20 is: 06
 
root@igep00x0:~#
 
</pre>
 
=== Read accelerometer axes  ===
 
 
 
{| border="1" width="500" cellspacing="1" cellpadding="1"
 
 
|-
 
|-
| Finally we are going to read gravity force: LIS3DH has ±2g/±4g/±8g/±16g dynamically selectable full scale (See chapter 8.11). The axes values are expressed in two’s complement in 16 bits (See chapters 8.16, 8.17 and 8.18).
+
| ip
| [[Image:Lis3dhxyzaxes.png|150x159px]]
+
| For NFS boot
|}
+
| -  
<pre>root@igep00x0:~# ./spiexampleb2 -T
+
| -
spi mode: 0
 
bits per word: 8
 
max speed: 1000000 Hz (1000 KHz)
 
Accelerometer TEST
 
Values from X -64, Values from Y -15872 and Values from Z -256
 
root@igep00x0:~#
 
</pre>
 
The next table shows results at different positions:
 
 
 
{| border="1" width="600" cellspacing="1" cellpadding="1"
 
 
|-
 
|-
| Position
+
| init
| ±2g scale
+
| Assign init program
| ±4g scale
+
| -
| ±8g scale
+
| -
| ±16g scale
 
 
|-
 
|-
| [[Image:NYtopimagetest.png|center|100x100px]]
+
| musb_hdrc.debug
| X = 832
+
| USB debug
Y = 1024
+
| -
 
+
| -
Z = 15680
 
 
 
|
 
X = 256
 
 
 
Y = 128
 
 
 
Z = 7872
 
 
 
|  
 
X = 128
 
 
 
Y = 128
 
 
 
Z = 4032
 
 
 
|  
 
X = 64
 
 
 
Y = 128
 
 
 
Z = 1280
 
 
 
 
|-
 
|-
| [[Image:NYbotimagetest.png|center|100x100px]]
+
| musb_hdrc.use_dma
|  
+
| USB over network
X = 256
+
| -  
 
+
| -
Y = 704
 
 
 
Z = -17216
 
 
 
|
 
X = 256
 
 
 
Y = 256
 
 
 
Z = -8320
 
 
 
|  
 
X = 64
 
 
 
Y = 128
 
 
 
Z = -4096
 
 
 
|  
 
X = 128
 
 
 
Y = 128
 
 
 
Z = -1344
 
 
 
 
|-
 
|-
| [[Image:NYtophoritzontalimagetest.png|center|100x100px]]
+
| libertas.libertas_debug
|  
+
| Configure libertas debug
X = -15872
+
| -  
 
+
| -
Y = 64
 
 
 
Z = -320
 
 
 
|
 
X = -7936
 
 
 
Y = 64
 
 
 
Z = -512
 
 
 
|  
 
X = -3968
 
 
 
Y = 128
 
 
 
Z = -192
 
 
 
|  
 
X = -1280
 
 
 
Y = 64
 
 
 
Z = -128
 
 
 
 
|-
 
|-
| [[Image:NYbothoritzontalimagetest.png|center|100x100px]]
+
| board.ei485
|  
+
| Enable/disable RS485
X = 16448
+
| &nbsp;;Enable RS485<br>=yes
 
+
| &nbsp;;Disable RS485<br>=no
Y = 640
 
 
 
Z = 640
 
 
 
|
 
X = 8128
 
 
 
Y = 192
 
 
 
Z = 384
 
 
 
|  
 
X = 4032
 
 
 
Y = 64
 
 
 
Z = 64
 
 
 
|  
 
X = 1344
 
 
 
Y = 64
 
 
 
Z = 192
 
 
 
 
|-
 
|-
| [[Image:NYtopverticalimagetest.png|center|100x100px]]
+
| board.modem
|  
+
| Enable/disable GPRS modem
X = 896
+
| &nbsp;;Enable modem (IGEPv2 Expansion)<br>=no
 
+
| &nbsp;;Enable modem (IGEPv2 Expansion)<br>=yes
Y = 16512
 
 
 
Z = -576
 
 
 
|
 
X = 320
 
 
 
Y = 8128
 
 
 
Z = -128
 
 
 
|  
 
X = 192
 
 
 
Y = 4096
 
 
 
Z = -64
 
 
 
|  
 
X = 128
 
 
 
Y = 1344
 
 
 
Z = -128
 
 
 
 
|-
 
|-
| [[Image:NYbotverticalimagetest.png|center|100x100px]]
+
| buddy.revision
|
+
| Enable hardware buddy revision [A or B]  
X = -64
+
| Only for base0010<br>=A
 
+
| Only for base0010<br>=B
Y = -15872
 
 
 
Z = -256
 
 
 
|
 
X = -512
 
 
 
Y = -7808
 
 
 
Z = -384
 
 
 
|  
 
X = -64
 
 
 
&gt;Y = -3840
 
 
 
Z = -384
 
 
 
|  
 
X = -128
 
 
 
Y = -1216
 
 
 
Z = -128
 
 
 
 
|}
 
|}
 
= How to install Qt Creator (under construction)  =
 
 
= How to install Eclipse (under construction) =
 

Latest revision as of 15:28, 5 September 2014

TODO:

Categorize new tutorials

How to manage the kernel modules on Linux

How do I edit my kernel command line

AUDIO DSP-ARM

Included (IGEP GST DSP):

AACHEDEC -> DEC AACHE (OK)

http://download.wavetlan.com/SVV/Media/HTTP/FAAC-HE-AAC.aac

gst-launch --gst-debug-level=2 filesrc location=sampleaache.m4a ! TIAuddec1 codecName=aachedec engineName=codecServer ! volume volume=0.25 ! alsasink sync=false

outofthebox->ok


MP3DEC -> DEC MP3 (AUDIO ERRORS)

- Followed README file from ISEE - IGEP DSP - GST + DMAI Support Package 3.40.00

http://www.stephaniequinn.com/Music/Canon.mp3

gst-launch --gst-debug-level=2 filesrc location=Canon.mp3 ! TIAuddec1 codecName=mp3dec engineName=codecServer ! volume volume=0.25 ! alsasink sync=false

Random fatal bit error

mp3-plugin doesn't resolve the error


G711DEC -> DEC PCM uLAW (speech) (NOT TESTED)

G711ENC -> ENC PCM uLAW (speech) (NOT TESTED)

Not included (IGEP GST DSP):

ACCLCDEC -> DEC AACLE (NOT TESTED)

AACLDDEC -> DEC AACLD (NOT TESTED)

WMA9 -> DEC WMA9 (COMPILING ISSUES)

ACCLCENC -> ENC AACLE (NOT TESTED)

ACCHEENC -> ENC AACHE (NOT TESTED)

AACLDENC -> ENC AACLD (NOT TESTED)

WMA8 -> ENC WMA8 (NOT TESTED)

Problems adding codecs into igep-gst-dsp

DM3730

DM3730: Decode a MP3 file (OK) (ADDED TO REPOSISTORIES)

under contruction

does not have an accelerated audio decoder element

- Compiled gst-plugins-ugly using yocto tools

- rpm -igst-plugins-ugly-0.*.rpm

- rpm -i libmad0-0.*.rpm

- rpm -i gst-plugins-ugly-mad-0.*.rpm

- gst-launch filesrc location=sample.mp3 ! mad ! volume volume=0.25 ! alsasink

DM3730: Decode a RA or RM audio file (ERRORS)

gst-launch --gst-debug-level=3 filesrc location=sample.ra ! rmdemux ! volume volume=0.25 ! alsasink

http://www.superluminal.com/andalib/ra/listen.ra

gst-plugins-ugly-rmdemux-0.10.19-r1.armv7a.rpm

libgstsdp-0.10-0-0.10.36-r3.armv7a.rpm: libgstsdp-0.10-0 libgstsdp-0.10.so.0

libgstrtsp-0.10-0-0.10.36-r3.armv7a.rpm: libgstrtsp-0.10-0 libgstrtsp-0.10.so.0

Error:

0:00:00.084839071 1550 0xa137b0 WARN rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC

0:00:00.085052695 1550 0xa137b0 WARN rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC

0:00:00.085540976 1550 0xa137b0 WARN rmdemux rmdemux.c:1057:gst_rmdemux_chain:<rmdemux0> Unknown object_id .ra4

0:00:00.085693564 1550 0xa137b0 WARN rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC

0:00:00.085815634 1550 0xa137b0 WARN rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC

0:00:00.085907187 1550 0xa137b0 WARN rmdemux rmdemux.c:1057:gst_rmdemux_chain:<rmdemux0> Unknown object_id RaTC

DM3730: Decode an AAC audio file (OK)

EXTRA_OECONF += "--disable-examples --disable-experimental --disable-sdl --disable-cdaudio --disable-directfb \

                --with-plugins=musicbrainz,wavpack,ivorbis,mpegvideoparse,faad2 --disable-vdpau --disable-apexsink \
                --disable-orc"

Install:


faad2-2.7-r2.armv7a.rpm libfaad2-2.7-r2.armv7a.rpm gst-plugins-bad-faad-0.10.23-r2.armv7a.rpm

maybe there are necessary more packages, compare actual gst-bad-recipe and add changes. Necessary add faad2 recipe

bitbake faad2 gst-plugins-bad
 rpm -i faad2-2.7-r2.armv7a.rpm
rpm -i libfaad2-2.7-r2.armv7a.rpm
rpm -i gst-plugins-bad-faad-0.10.23-r2.1.armv7a.rpm
 

gst-launch --gst-debug-level=3 filesrc location=sample.aac ! faad ! volume volume=0.10 ! alsasink

DM3730: Decode an WMA audio file (OK)

bitbake gst-ffmpeg
gst-launch -v filesrc location=sample.wma ! asfdemux ! decodebin ! audioconvert ! volume volume=0.25 ! alsasink  

DM3730: Decode an OGG audio file (OK)

Into repositories (base plugins):

http://upload.wikimedia.org/wikipedia/en/0/04/Rayman_2_music_sample.ogg

gst-launch -v filesrc location=sample.ogg ! oggdemux ! vorbisdec ! audioconvert ! volume volume=0.25 ! alsasink

BASE0033 CONNECTOR SUMMARY TABLE

Configure a static IP using the same private network range

under construction

IGEP Firmware Yocto uses the following Ethernet network configuration (IP addresses)

  • eth0 − 192.168.5.1
  • eth0:0 − assigned via dhcp.

This Ethernet network configuration is really useful when you work using a Linux operating system like IGEP SDK Virtual Machine. Because you use eth0 device to communicate easily with your board and eth0:0 device to get Internet acces using dhcp protocol.

But some scenarios this network configuration is not useful, for example: if you use a non-Linux operating system, connect to two IP private range interfaces is not simple. This How-to can be useful to

(Make diagram one: IGEP and Linux defualt communication. Diagram 2 IGEP and other SO alternative configuration)

igep.ini parameters

The kernel command line syntax is name=value1. These next parameters are supported in igep.ini since IGEP-X_Loader 2.4.0-2:

[kernel]

Parameter Name Description Default value Comments
kaddress Kernel copy address =0x80008000 Hex memory address
rdaddress Ram Disk location address =0x81600000 Hex memory address;
disabled by default
serial.low Serial number (low part) =00000001 Numeric
serial.high Serial number (high part) =00000000 Numeric
revision Revision ID =0003 Numeric
kImageName Kernel, binary image name =zImage Kernel or binary image name
kRdImageName Kernel RAM Disk Image Name - Ram Disk image name
MachineID Machine ID (kernel ID)  ;IGEPv2
=2344
 ;Module
=2717
;Proton
=3203
Mode Boot Mode  ;Linux kernel
=kernel
 ;Other image (like uboot)
[binary image]

[kparams]

Parameter Name Description Default value Comments
buddy Enable/disable expansion board support  ;IGEPv2 Expansion Board support
=igep0022
 ;Berlin and Paris Expansion Board support
=base0010
New York Expansion
=ilms0015
console Setup the kernel console parameters =ttyO2,115200n8 -
earlyprintk Enable early printk - -
mem Setup the Board Memory Configuration =430M -
boot_delay Setup the boot delay =0 -
mpurate Setup ARM Processor Speed - -
loglevel Setup the loglevel - -
debug Enable kernel debug output - -
fixrtc Fix RTC variable - -
nocompcache Configure nocompcache variable =1 -
omapfb.mode Configure frame bugger configuration =dvi:hd720-16@50  ;Other configuration
=dvi:1280x720MR-16@60
vram Configure Video RAM assigned to every frame buffer - -
omapfb.vram Configure Video RAM assigned to every frame buffer - -
omapfb.debug Configure frame buffer debug output - -
omapdss.debug Configure DSS Video debug output - -
smsc911x.mac0 Configure Board Ethernet Mac Address =0xb2,0xb0,0x14,0xb5,0xcd,0xde For IGEP BERLIN
smsc911x.mac1 Configure Board Ethernet Mac Address =0xb2,0xb0,0x14,0xb5,0xcd,0xdf For IGEP BERLIN (only with IGEP PROTON)
smsc911x.mac Configure Board Ethernet Mac Address =0xb2,0xb0,0x14,0xb5,0xcd,0xde For IGEPv2, IGEP PROTON, IGEP PARIS and IGEP BERLIN
ubi.mtd Fot UBI FS boot - -
root Configure root directory for MMC, NFS or UBI  ;For mmc memory
=/dev/mmcblk0p2 rw rootwait
 ;For flash memory
=/dev/mtdblock2
nfsroot For NFS boot - -
rootfstype For UBI FS boot - -
ip For NFS boot - -
init Assign init program - -
musb_hdrc.debug USB debug - -
musb_hdrc.use_dma USB over network - -
libertas.libertas_debug Configure libertas debug - -
board.ei485 Enable/disable RS485  ;Enable RS485
=yes
 ;Disable RS485
=no
board.modem Enable/disable GPRS modem  ;Enable modem (IGEPv2 Expansion)
=no
 ;Enable modem (IGEPv2 Expansion)
=yes
buddy.revision Enable hardware buddy revision [A or B] Only for base0010
=A
Only for base0010
=B