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?
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
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?
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).
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.
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.
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
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.