TI E2E Community (Beta)
Welcome to the TI E2E (Engineer-to-Engineer) Community! We invite you to freely and openly interact with your peer Engineers, TI Engineers, and other experts in order to ask questions, share knowledge, explore ideas, and help solve problems.
More Search Options

OMAPL138 Questions

rated by 0 users
Not Answered This post has 0 verified answers | 6 Replies | 3 Followers

Not Ranked
15 Posts
Community Member
Check12 posted on 2 Nov 2009 6:17 PM

Hello,

I have been making great progress with the experimenter's board. I have a few questions:

I don't see any reference to a real time clock chip on the EVM board, is this not included?

In the OMAPL138 hardware spec doc, the pin functions for each connector is listed. I am assuming by reading the pin functions, that there are some McASP pins that are multiplexed with the ethernet functions and are mutually exclusive.
Given that I will need to use the ethernet port and the SDHC for the linux file system, how many McASP pins will be available for use.
What I am seeing is that McASP pins 0-6 are used for ethernet MII and will not be available for McASP use. Is this correct? 
The expander board uses a second ethernet port, can I use this one to maximize available McASP pins.
What I am looking for is a configuration that uses all available McASP pins while still preserving ethernet and SDHC card functions.

All Replies

Top 10 Contributor
648 Posts
Texas Instruments Employee

Check12:
I don't see any reference to a real time clock chip on the EVM board, is this not included?

Are you using the DSP side or the Linux side? What are you trying to achieve?

Check12:
In the OMAPL138 hardware spec doc, the pin functions for each connector is listed. I am assuming by reading the pin functions, that there are some McASP pins that are multiplexed with the ethernet functions and are mutually exclusive.
Given that I will need to use the ethernet port and the SDHC for the linux file system, how many McASP pins will be available for use.
What I am seeing is that McASP pins 0-6 are used for ethernet MII and will not be available for McASP use. Is this correct? 

Yes, if you use the EMAC in MII mode you can not use McASP ARX0 - 6.

 The pin mux utility is a great tool to figure out what peripherals can be used at the same time:

http://focus.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=sprab63b

Check12:
The expander board uses a second ethernet port, can I use this one to maximize available McASP pins.
What I am looking for is a configuration that uses all available McASP pins while still preserving ethernet and SDHC card functions.

 You could use RMII instead of MII and use the McASP

 

Not Ranked
15 Posts
Community Member

Thank you Mariana,

I have a better understanding of the real time clock now. You asked what I was trying to achieve;

I have an audio file read/write C library on the linux side. I also have a library of wave files.

Using dsplink, I would like to play a sound effect wave file out a defined McAsp pin at a given time. Using CronTab?

My understanding of the best way to do this is far from complete. Here is my guess.

GPP dsplink application loads my DSP program.

When the scheduled event occurs my GPP program sends a 'play' command. to the DSP and fills shared memory with samples from the file.

The McASP FIFOS are filled with the samples from shared memory using DMA and the serial stream starts. 

The DSP sends a message back to the GPP that the shared memory is ready to be refilled with new samples.

Am I on the right track?

 

Top 10 Contributor
648 Posts
Texas Instruments Employee

Hi Mike,

Yes, you are on the right track.

If you are not going to use the DSP drivers, have you considered using iUniversal instead of DSPLink? It is just an idea, DSPLink should work fine as well.

You can have the data in shared memory and send the pointer to the DSP, but please make sure you translate from virtual address (Linux) to physical address (DSP/BIOS).

 

Not Ranked
15 Posts
Community Member

Thanks Mariana,

The pin mux utility is great, I wish I had found it earlier. I now have the ideal pin config for my application. I have to move to the RMII ethernet config to maximize the McASP pins available. Do I make the change in the OMAPL138 Linux Kernel menu config and then rebuild the kernel and reinstall the kernel modules? 

Can I take the DSP samples provided for DSPLink and convert them to CSS projects, I would like to use the CSS IDE for DSP development and the dsplink linux Makefiles to build the GPP binaries. Is this possible? Or develop in CCS and move source to linux for compiling?

I have the dsplink build system up and running on my linux host and have been exploring the dsplink wiki page. 

Thanks again for your help.

 

 

Top 10 Contributor
648 Posts
Texas Instruments Employee

 

Check12:
The pin mux utility is great, I wish I had found it earlier. I now have the ideal pin config for my application. I have to move to the RMII ethernet config to maximize the McASP pins available. Do I make the change in the OMAPL138 Linux Kernel menu config and then rebuild the kernel and reinstall the kernel modules? 

I think it is enough to configure the Linux kernel as you want and it will take care of the pinmux for you. (please see post below) Remember that if you are going to use the audio driver in the DSP side, you might need to build the Linux kernel without ALSA support so it does not interfere with the DSP. Then you would need to take care of the McASP pinmux in the DSP code, and make sure you do | (OR) and do not overwrite any pinmux necessary that was set by Linux.

Check12:
Can I take the DSP samples provided for DSPLink and convert them to CSS projects, I would like to use the CSS IDE for DSP development and the dsplink linux Makefiles to build the GPP binaries. Is this possible? Or develop in CCS and move source to linux for compiling?

Please see:

http://wiki.davincidsp.com/index.php/CCS_Project_project_for_OMAP-L137_HelloDSP_DSPLINK_example

You can use CCS to build, but you will need to copy the .out file to your Linux machine anyway.

Not Ranked
4 Posts
Texas Instruments Employee

Mike,

To change pinmux in Linux kernel you need to override pinmux settings in file arch/arm/mach-da8xx/board-evm.c.

Have a look at the function da8xx_evm_pinmux_override()  in this file.

Here you only register the pins required by your module.

The actual configuration happens when clk_enable() is called by the driver to enable the module clock.

Have a look at the call to davinci_pinmux_setup() in function davinci_psc_config() in the file arch/arm/plat-davinci/clock.c

Hope that helps.


Thanks,

Sekhar

Page 1 of 1 (7 items) |

ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". TI AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY TI. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.