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?
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.
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 said: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 said: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 said: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 said: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 said: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