Site Index
   Support Home
   OMAP Home
   Related Products
   OMAP Tech Docs
   Linux Docs
   Development Flow
   Ordering Info.

Support Site
Main Site


Section 1: Support

Section 2: U-Boot

Section 3: Host Linux Usage

Section 4: Embedded Linux Usage

Section 5: Board

Section 6: Code Composer

Section 7: Addons

Section 8: Emulators

Section 9: Related Products

Section 10: Versioning

Section E: Errata

Section 1: Support

1.1 What is the OSK5912 support policy?
Documentation and support is limited to the contents of the OSK5912 package. Spectrum Digital warrants the OSK5912 hardware for 90 days from the date of purchase. However, no software support is provided by either Spectrum Digital, Texas Instruments or MontaVista Software.

You can view available web resources at the Linux docs section of:

In particular, Linux users may find it uselful to subscribe to the TI Linux Mailing List to be aware of issues that other users run into.

At the factory, each board is run through a complete suite of tests including booting the board, running the audio demo described in the Quick Start section of the Users Guide and a superset of the test code that gets installed in:


using Code Composer Studio configured with the osk5912 GEL file (osk5912.gel in boards/gel). If you believe that you have a hardware failure (your board will not complete the test listed above) you may contact

Section 2: U-Boot

2.1 How do I set the Ethernet MAC address of a board?
Issue the command:

    setenv ethaddr = 00:0E:99:02:02:29
at the U-Boot prompt. This sets the working MAC address for the current session. To save the MAC address in Flash so it comes up set automatically on every boot, issue the command:
For more information, please consult the U-Boot User Manual.

2.2 What is the syntax of the DHCP command?
Make sure the Ethernet MAC address has been set up (see 2.1) and then type:

at the U-Boot prompt. It will contact your DHCP server to obtain an IP address. For more information, please consult the U-Boot User Manual.

2.3 What is the syntax of the TFTP command?
Make sure your MAC address, IP address and server IP address have been set up. The following is an example of using the tftp command:

    setenv ethaddr = 00:0E:99:02:02:29
    setenv serverip =
    setenv ipaddr
    tftp 0x10000000 factory-filesys.jffs2
The tftp command will load the file factory-filesys.jffs2 from the tftp server at IP address The target board's IP address can be assigned to a static IP address as in this example or using the dhcp command. For more information, please consult the U-Boot User Manual.

2.4 Can you transfer files to U-Boot using Minicom in kermit mode?
The kermit protocol implementations in U-Boot and minicom do not match so you cannot use minicom to transfer files and images to U-Boot. Use Hyperterminal to do a raw binary transfer instead.

One suggested workaround is to reconfigure minicom to use gkermit, a kermit equivalent that is included with both Red Hat Linux 7.3 and 9.0.

Add the folling lines in '/etc/minirc.dfl':

pu pname7    YUNYNkermit
pu pname8    NDNYNkermit
pu pprog7    /usr/bin/gkermit -iXs
pu pprog8    /usr/bin/gkermit -iXr

From minicom, select "Send File -> kermit" menu and select the directory and filename to download. Note: Don't select "run kermit" menu, which isn't compatible with the current u-boot.

Section 3: Host Linux Usage

3.1 How do I extract a *.tgz file?
The command:

    tar -xzvf filename.tgz
will extract (uncompress and untar) the files in filename.tgz.

3.2 How do I set up a TFTP server?
You can find instructions at:

3.3 Where do I find the Korn shell for Red Hat Linux 7.3?
The Korn shell is used by Montavista's Linux DSP Tools. If you are using an older version of Red Hat Linux (such as version 7.3) that does not include it, you can find it here.

Section 4: Embedded Linux Usage

4.1 The audio files cannot play after rebuilding the kernel.
If the audio files cannot play after rebuilding the kernel, check 'dev/dsp'. If missed, add the following line to boot-up scripts.

    # mknod /dev/dsp c 14 3
    # mknod /dev/mixer c 14 0

4.2 How do I set the OSK IP address?
The command to set the IP address:

    /sbin/ifconfig eth0 up

4.3 What is THTTPD?
The THTTPD stands for Tiny/Turbo/Throttle HTTP Daemon (server), which makes the OSK act as HTTP server. After setting the IP address, try to connect the OSK from host PC. You should see the MontaVista opening message.

If it is not needed, the THTTPD can be disabled by commenting the following lines in the /ect/init.d/rcS

    # Start thttpd
    echo -n "Starting thttpd: "
    /usr/sbin/thttpd -C /etc/thttpd/thttpd.conf -i /var/run/ -c "/cgi-bin/*"
    sleep 1
    echo "done."

4.4 How to I skip the login-in prompt?
In the file /etc/inittab, comment ('#') out the line

    console::respawn:/sh/getty console
and add

4.5 How do I modify the opening message?
Edit the file /etc/issue. It would be default contain:

    MontaVista?(R) Linux(R) Professional Edition 3.1, Preview Kit

4.6 What is the syntax for BusyBox?
You can find syntac info of BusyBox here:

Section 5: Board

5.1 How do I access the LEDs on the OSK5912?
The LEDs are connected to GPIO outputs on the TPS65010 power controller chip (U10), not the OMAP5912 chip itself. They can be controlled independently through the I2C bus. Please see the TPS65010 product folder for more details or take a look at the Board Support Library source code for code examples.

Section 6: Code Composer

6.1 How do I bring Code Composer up in DSP only mode?
In order to bring up Code Composer in the DSP only configuration, the ARM side must release the DSP from reset before attempting to connect. The Code Composer configurations that rely on the DSP to be release are:

    OSK5912 XDS510 USB Emulator (DSP only)
    OSK5912 XDS510 PP Emulator (DSP only)
    OSK5912 XDS560 Emulator (DSP only)
To manually release the DSP you must write to the register ARM_RSTCT1 (0xFFFECE10) with value (0x00000002).
In UBOOT this is accomplished with a memory write:
    mw 0xFFFECE10 2
Typically the way to start the DSP is by using the ARM + DSP co-emulation configuration. Here the ARM gel file will release the DSP during startup.

6.2 Linux runs fine but things don't look right under CCStudio?
Sometimes it looks like something (memory, caches, MMU) is wrong when you try to debug from CCStudio, but it's clear that nothing is really wrong with the hardware. For example, if Linux is running all of those components must be working but when you try to load a program with CCStudio you get program load errors or breakpoint setting errors. This generally happens because as soon as you apply power to the factory configured board it starts booting into U-Boot and then Linux. When the CCStudio debug session starts, the processor state is the current state and not the reset state. Depending on the amount of time that has elapsed, Linux will have initialized all kinds of processor features and peripherals and re-mapped all of the DRAM and internal memory to completely different addresses.

If you're using the osk5912.gel GEL file that gets installed into c:\ti\boards\osk5912\gel, it'll clean up some of that state so at least interupts are disabled and you should have access to the DRAM and internal memory. But if you're primarily doing Code COmposer based debug you may want to switch JP3 to the 1-2 position (instead of the default 2-3 position). This will keep the OSK5912 from booting from Flash and you will have a much cleaner state to start with.

Section 7: Addons

7.1 Where can I find support for other operating systems?
Try this link for list of other third parties that support various embedded operating systems for OMAP devices.

Section 8: Emulators

8.1 How do I connect to the OSK with my SD Emulator?
Using an SD emulator with the OMAP 16xx device generally requires additional emulator setup through SdConfig. This is due to the fact that the default RTCK from an OMAP16xx device is generally in the low mega-hertz range.

Run SDConfig.exe and choose the port address for your emulator. Then choose "Emu" folder and set the "Emulator port speed" to a higher number, this is add a delay to the emulation access. For example a setting of 8 is sufficient to support a 2 MHz RTCK frequency. Save the new configuration and retest your emulator.

Section 9: Related Products

9.1 Where can I find related products that work with the OSK5912?
Go to and look at the related products section on the left. If you're having difficulties getting started with OMAP, check out support services from LogicPD.

Section 10: Versioning

10.1 Current Versions of the OSK5912
Two versions of the OSK5912 currently exist (as of summer '05). Revision C of the OSK5912 (TI part #TMDXOSK5912) is the original production version. Revision D is the currently shipping version (TI part #TMDSOSK5912). Both revisions use exactly the same PCB board and ship with exactly the same documentation and software. However, the Revision D board is populated slightly differently as follows:

  • The TMDX (pre-production) version of the OMAP5912 processor has been replaced by the TMDS (fully qualified production) version. The change is a manufacturing classification only and the design itself has not changed. Therefore, there is no software/functionality impact.
  • The 32.768 KHz oscillator has been replaced by a 32.768 KHz crystal. As crystals are cheaper than oscillators, the version with the crystal makes a cheaper baseline reference design. There is no software impact.

The Revision D schematics and component differences between the Revision C and Revision D boards can be found here:

Section E: Errata

E.1 OSK5912 SDRAM Configuration Update
Since the original Uboot 1.1.1 there have been 2 changes made to the DDR SDRAM refresh rate. The first change affects the autorefresh count, in which the autorefresh count did not account for a DDR SDRAM read burst length of 8. The autorefresh count was recomputed to account for this 8x increase.

The second change is again for the autorefresh count, and relates to the reliablity of the some DDR SDRAM chips. A reduction of the autorefresh count by 15%-20% was observed to be more reliable than the autorefresh count after the first change.

Look for the updated files containing the updated SDRAM configuration below

E.2 OSK5912 POMAP Configuration Update
Changes to the original Uboot 1.1.1 have included support for the POMAP chip and various minor fixes. The POMAP chip contains new features to support DDR SDRAM and high speed clocks. The Uboot code automatically determines whether an XOMAP chip or POMAP chip is running Uboot and enables any of the new features for the DDR.

Changes on platform.S
  • Enabled I-CACHE at the beginning of platform.S
  • Changed the clocking settings to use Synchronous Scalable Mode
    REG_ARM_SYSST( 0xfffece18 ) = 0x1000

  • Changed when the SDRAM autorefresh to occur every burst of 8 commands
    Recomputed the SDRAM autorefreah count to take into account the new burst command length and a 15-20% padding of the SDRAM to support the Elpida DDR memory
    REG_SDRAM_CONFIG( 0xfffecc20 ) = 0x0014e6fe

  • Added DEVICE ID check for POMAP ID of 0xb65f, this is support for high speed DDR memory
    REG_DEVICE_ID( 0xfffe2004 ) == 0xb65f

  • Enabled ARM cache line refills using a new EMIFF_DOUBLER register for POMAP devices
    REG_TC_EMIFF_DOUBLER( 0xfffecc60 ) = 0x0001

  • Enabled a new freature for supporting system frequencies above 100 MHZ for POMAP devices
    REG_SDRAM_CONFIG2( 0xfffecc3c ) = 0x000b

  • Decreased the frequency timing range of the SDRAM for POMAP devices from SDF0 to SDF1
    REG_SDRAM_CONFIG( 0xfffecc20 ) = 0x0114e6fe

  • Decreased the DLL phase from 90 degrees to 72 degrees, added the maximum offset of +31
    REG_DLL_WRT_CONTROL( 0xfffecc68 ) = 0x03f00002
    REG_DLL_URD_CONTROL( 0xfffeccc0 ) = 0x00800002
    REG_DLL_LRD_CONTROL( 0xfffecccc ) = 0x00800002

  • Corrected REG_MPU_LOAD_TIMER address
    From 0xfffec600 to 0xfffec504

  • Enabled EMIFS.RDY for EMIFS.CS1 accesses
    REG_TC_EMIFS_DWS( 0xfffecc40 ) = 0x000000c0

  • Changed EMIFS.CS3 timings from 0x88011131 to 0x88013141, increased the RDWST by 1, WELEN by 1
    REG_TC_EMIFS_CS3_CONFIG( 0xfffecc1c ) = 0x88013141

Changes on omap5912osk.c
  • For the OSK5912, Uboot usese a new arch number for identification.
    From 234 to 515

  • Commented out all udelay() functions calls in ether__init() and replaced the calls with software delay loops.
Description Files
Assembly file containing OMAP sytem initialization code
C file containing OMAP peripheral initialization code
Binary build containing Uboot
Loadable Code Composer COFF file.
©Copyright 2002-2013 Spectrum Digital, Inc. All Rights Reserved.