This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Sitara vs. OMAP, EZ SDK sturcture and PM firmware binary

Hello,

when trying to get Linux up and running on my BeagleBone a few questions popped up to which I was unable to find satisfactory answers by googling. I was hoping I could find answers by asking here. I hope it does the trick. Three questions are bugging me:

1) What is the difference between OMAP and Sitara microprocessors? I found some information about one being sold on the mobile market and the other not while the processors are practically identical. But I was unable to find an official explanation. Since compiling kernel for Sitara is done by setting many OMAP-like configurations I take it the two must be very similar. I also read somewhere that as far as software/firmware is concerned the two are in fact the same. Could someone perhaps shed some more light on this? How do Sitara and OMAP microprocessors differ?

2) I downloaded ti-sdk-am335x-evm-05.05.01.00-Linux and started fiddling with Linux kernel sources. I found two sources after installing the SDK. One is located in "board-support/board-port-labs/sitara-board-port-linux" and the other in "board-support/linux-3.2.0-psp04.06.00.08.sdk". What is the difference between the two? I noticed one has psp written in its name (which if I researched correctly means Platform Support Packages).

3) When trying to compile a linux 3.7.1 kernel with arago I got an error saying "No rule to make target `firmware/am335x-pm-firmware.bin', needed by `firmware/am335x-pm-firmware.bin.gen.o'. Stop." I copied this from EZ SDK's source and then compiled (as instructed here: http://processors.wiki.ti.com/index.php/AM335x-PSP_04.06.00.07_Release_Notes). Kernel compiled OK then but would not work. Before tackling the problem of why it does not work I would like to know what the PM firmware is and why is it not included in the sources. Could anyone please explain that?

Thanks for your help.

Cheers!

  • Casper,

    1. Some processors between OMAP and Sitara are very similar, but some are completely different.  Since they tend to share a lot of IP you will see many references to OMAP even in Sitara chips.  The OMAP processors tend to be multi-core with DSP and additional accelerators where the Sitara processors are ARM only devices.

    2. The board port kernel sources go with the board port labs in the training material.  The psp sources are the ones for the kernel that ships with the SDK.  The board port kernel does not have support for all components and is meant as a reference.

    3. The PM firmware is needed to perform power management operations.  My understanding is that firmwares are not allowed in the Linux kernel sources anymore so this firmware is kept outside.  As for the 3.7 it has only basic AM335x support today, including RAMDISK support.  More features are added each day and 3.8 should be much better.

    Chase

  • Thank you very much for your explanation Chase. It helps a lot. If I may I would like to ask follow-up questions for 2 and 3:

    2) Could you please elaborate a bit what a PSP is? I am having trouble understanding the structure of TI's Linux solutions and where PSP fits in.
    2a) From what I could gather so far TI offers many different Linux SDKs for different CPUs. Could you tell me what the main differences between these SDKs are? LINUXEZSDK-AM18X and LINUXEZSDK-BONE for example. Are there different tool chains contained in these SDKs, different source and header files ...?
    2b) Based on my understanding at this point an SDK contains kernel sources, tool chain, file system(s), documentation, example applications. There are more things in the installation directory though. Did I forget to list any other important component and if so, what does it do?
    2c) Where exactly does PSP fit in in an SDK? By googling I found out that one of important things a PSP provides are drivers. This is quite abstract for me. Does this means that it contains some source files or binaries which contain these drivers and they then get compiled into the kernel?
    Are sample applications also part of an PSP?

    3) Linux 3.7.1 kernel sources still contain a folder called "firmware".  At first glance it contains only .hex and .ihex files (ti_3410.fw.ihex for example). Whereas for BeagleBone for example, a binary is needed (am335x-pm-firmware.bin).
    3a) So are you sure that firmwares are no longer allowed in kernel sources?
    3b) Why is it called a firmware? Is it not like any other piece of code which gets compiled into kernel? Or is this actually a separate piece of executable which gets programmed on a piece of hardware in the device itself (on tps65217b_PMIC on BeagleBone for example) and the programming is done by the processor (am335x in case of BeagleBone)?

    Thanks.

  • 2) The PSP is the kernel and boot loader for a particular platform.  It serves as the foundation that can be used for various distributions including Android (with the proper android patches from google applied)

    2a) These SDKs have a common look and feel but vary in terms of the kernel/boot loader sources used, example applications, and in the case of AM18x the toolchain.  The toolchain for all other devices is optimized for NEON use which the AM18x does not have.

    2b) We have setup scripts and Makefiles in the SDK, but you got the main points.

    2c) The PSP is the booloader and kernel sources, including the drivers for a device.  Example applications are part of the file system and packaged in the SDK separately.

    3) No new firmware allowed is my understanding.  So if it was there before it stays, but nothing new can be added.

    3a) This is what I was told by our PSP development team.  They have been actively pushing AM335x support upstream and have not been able to add the firmware to date.

    3b) This is a separate executable that the kernel can load onto the power management cpu.  This gets lumped into the kernel image in this case but in other cases like wifi devices it is possible for the kernel to load the firmware from the file system as well.  So in this case the Linux kernel running on the A8 loads this firmware to the M3 that handles the power management.

  • This clears it up for me. Thank you very much for your help Chase.